[automerger skipped] DO NOT MERGE Grant carrier privileges if package has carrier config access. am: 7d64baac10 am: 2b6e281018 -s ours am: 2a53aeb187 -s ours

am skip reason: subject contains skip directive

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

Change-Id: I6c435903526cdf1ebd2cb4593a2fb91caeaeabde
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
diff --git a/Android.bp b/Android.bp
index 5eb8765..dad0e6c 100644
--- a/Android.bp
+++ b/Android.bp
@@ -12,26 +12,13 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
+package {
+    // See: http://go/android-license-faq
+    default_applicable_licenses: ["Android-Apache-2.0"],
+}
+
 // Build the Phone app which includes the emergency dialer. See Contacts
 // for the 'other' dialer.
-
-package {
-    default_applicable_licenses: ["packages_services_Telephony_license"],
-}
-
-// Added automatically by a large-scale-change
-// See: http://go/android-license-faq
-license {
-    name: "packages_services_Telephony_license",
-    visibility: [":__subpackages__"],
-    license_kinds: [
-        "SPDX-license-identifier-Apache-2.0",
-    ],
-    license_text: [
-        "NOTICE",
-    ],
-}
-
 android_app {
     name: "TeleService",
 
@@ -40,6 +27,7 @@
         "voip-common",
         "ims-common",
         "libprotobuf-java-lite",
+        "app-compat-annotations",
         "unsupportedappusage",
         "org.apache.http.legacy",
     ],
@@ -60,7 +48,6 @@
     srcs: [
         ":framework-telephony-common-shared-srcs",
         "src/**/*.java",
-        "sip/src/**/*.java",
         "ecc/proto/**/*.proto",
         "src/com/android/phone/EventLogTags.logtags",
     ],
@@ -69,7 +56,6 @@
 
     resource_dirs: [
         "res",
-        "sip/res",
     ],
 
     asset_dirs: [
@@ -77,10 +63,6 @@
         "ecc/output",
     ],
 
-    aaptflags: [
-        "--extra-packages com.android.services.telephony.sip",
-    ],
-
     platform_apis: true,
 
     certificate: "platform",
@@ -89,7 +71,6 @@
     optimize: {
         proguard_flags_files: [
             "proguard.flags",
-            "sip/proguard.flags",
         ],
     },
 
@@ -97,3 +78,8 @@
         type: "lite",
     },
 }
+
+platform_compat_config {
+    name: "TeleService-platform-compat-config",
+    src: ":TeleService",
+}
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 1f4beb5..41ff216 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -23,95 +23,6 @@
 >
 
     <original-package android:name="com.android.phone" />
-
-    <protected-broadcast android:name="android.telecom.action.CURRENT_TTY_MODE_CHANGED" />
-    <protected-broadcast android:name="android.intent.action.SERVICE_STATE" />
-    <protected-broadcast android:name="android.intent.action.RADIO_TECHNOLOGY" />
-    <protected-broadcast android:name="android.intent.action.EMERGENCY_CALLBACK_MODE_CHANGED" />
-    <protected-broadcast android:name="android.intent.action.EMERGENCY_CALL_STATE_CHANGED" />
-    <protected-broadcast android:name="android.intent.action.SIG_STR" />
-    <protected-broadcast android:name="android.intent.action.ANY_DATA_STATE" />
-    <protected-broadcast android:name="android.intent.action.DATA_STALL_DETECTED" />
-    <protected-broadcast android:name="android.intent.action.SIM_STATE_CHANGED" />
-    <protected-broadcast android:name="android.intent.action.USER_ACTIVITY_NOTIFICATION" />
-    <protected-broadcast android:name="android.telephony.action.SHOW_NOTICE_ECM_BLOCK_OTHERS" />
-    <protected-broadcast android:name="android.intent.action.ACTION_MDN_STATE_CHANGED" />
-    <protected-broadcast android:name="android.telephony.action.SERVICE_PROVIDERS_UPDATED" />
-    <protected-broadcast android:name="android.provider.Telephony.SIM_FULL" />
-    <protected-broadcast android:name="com.android.internal.telephony.carrier_key_download_alarm" />
-    <protected-broadcast android:name="com.android.internal.telephony.data-restart-trysetup" />
-    <protected-broadcast android:name="com.android.internal.telephony.data-stall" />
-    <protected-broadcast android:name="com.android.internal.telephony.provisioning_apn_alarm" />
-    <protected-broadcast android:name="android.intent.action.DATA_SMS_RECEIVED" />
-    <protected-broadcast android:name="android.provider.Telephony.SMS_RECEIVED" />
-    <protected-broadcast android:name="android.provider.Telephony.SMS_DELIVER" />
-    <protected-broadcast android:name="android.provider.Telephony.SMS_REJECTED" />
-    <protected-broadcast android:name="android.provider.Telephony.WAP_PUSH_DELIVER" />
-    <protected-broadcast android:name="android.provider.Telephony.WAP_PUSH_RECEIVED" />
-    <protected-broadcast android:name="android.provider.Telephony.SMS_CB_RECEIVED" />
-    <protected-broadcast android:name="android.provider.action.SMS_EMERGENCY_CB_RECEIVED" />
-    <protected-broadcast android:name="android.provider.Telephony.SMS_SERVICE_CATEGORY_PROGRAM_DATA_RECEIVED" />
-    <protected-broadcast android:name="android.provider.Telephony.SECRET_CODE" />
-    <protected-broadcast android:name= "com.android.internal.stk.command" />
-    <protected-broadcast android:name= "com.android.internal.stk.session_end" />
-    <protected-broadcast android:name= "com.android.internal.stk.icc_status_change" />
-    <protected-broadcast android:name= "com.android.internal.stk.alpha_notify" />
-    <protected-broadcast android:name= "com.android.internal.telephony.CARRIER_SIGNAL_REDIRECTED" />
-    <protected-broadcast android:name= "com.android.internal.telephony.CARRIER_SIGNAL_REQUEST_NETWORK_FAILED" />
-    <protected-broadcast android:name= "com.android.internal.telephony.CARRIER_SIGNAL_PCO_VALUE" />
-    <protected-broadcast android:name= "com.android.internal.telephony.CARRIER_SIGNAL_RESET" />
-    <protected-broadcast android:name= "com.android.internal.telephony.CARRIER_SIGNAL_DEFAULT_NETWORK_AVAILABLE" />
-    <protected-broadcast android:name= "com.android.internal.telephony.PROVISION" />
-    <protected-broadcast android:name= "com.android.internal.telephony.ACTION_LINE1_NUMBER_ERROR_DETECTED" />
-    <protected-broadcast android:name= "com.android.internal.provider.action.VOICEMAIL_SMS_RECEIVED" />
-    <protected-broadcast android:name= "com.android.intent.isim_refresh" />
-    <protected-broadcast android:name= "com.android.ims.ACTION_RCS_SERVICE_AVAILABLE" />
-    <protected-broadcast android:name= "com.android.ims.ACTION_RCS_SERVICE_UNAVAILABLE" />
-    <protected-broadcast android:name= "com.android.ims.ACTION_RCS_SERVICE_DIED" />
-    <protected-broadcast android:name= "com.android.ims.ACTION_PRESENCE_CHANGED" />
-    <protected-broadcast android:name= "com.android.ims.ACTION_PUBLISH_STATUS_CHANGED" />
-    <protected-broadcast android:name= "com.android.ims.IMS_SERVICE_UP" />
-    <protected-broadcast android:name= "com.android.ims.IMS_SERVICE_DOWN" />
-    <protected-broadcast android:name= "com.android.ims.IMS_INCOMING_CALL" />
-    <protected-broadcast android:name= "com.android.ims.internal.uce.UCE_SERVICE_UP" />
-    <protected-broadcast android:name= "com.android.ims.internal.uce.UCE_SERVICE_DOWN" />
-    <protected-broadcast android:name= "com.android.imsconnection.DISCONNECTED" />
-    <protected-broadcast android:name= "com.android.intent.action.IMS_FEATURE_CHANGED" />
-    <protected-broadcast android:name= "com.android.intent.action.IMS_CONFIG_CHANGED" />
-    <protected-broadcast android:name= "android.telephony.ims.action.WFC_IMS_REGISTRATION_ERROR" />
-    <protected-broadcast android:name= "com.android.phone.vvm.omtp.sms.REQUEST_SENT" />
-    <protected-broadcast android:name= "com.android.phone.vvm.ACTION_VISUAL_VOICEMAIL_SERVICE_EVENT" />
-    <protected-broadcast android:name= "com.android.internal.telephony.CARRIER_VVM_PACKAGE_INSTALLED" />
-    <protected-broadcast android:name= "com.android.cellbroadcastreceiver.GET_LATEST_CB_AREA_INFO" />
-    <protected-broadcast android:name= "com.android.internal.telephony.ACTION_CARRIER_CERTIFICATE_DOWNLOAD" />
-    <protected-broadcast android:name= "com.android.internal.telephony.action.COUNTRY_OVERRIDE" />
-    <protected-broadcast android:name= "com.android.internal.telephony.OPEN_DEFAULT_SMS_APP" />
-    <protected-broadcast android:name= "com.android.internal.telephony.ACTION_TEST_OVERRIDE_CARRIER_ID" />
-    <protected-broadcast android:name= "android.telephony.action.SIM_CARD_STATE_CHANGED" />
-    <protected-broadcast android:name= "android.telephony.action.SIM_APPLICATION_STATE_CHANGED" />
-    <protected-broadcast android:name= "android.telephony.action.SIM_SLOT_STATUS_CHANGED" />
-    <protected-broadcast android:name= "android.telephony.action.SUBSCRIPTION_CARRIER_IDENTITY_CHANGED" />
-    <protected-broadcast android:name= "android.telephony.action.SUBSCRIPTION_SPECIFIC_CARRIER_IDENTITY_CHANGED" />
-    <protected-broadcast android:name= "android.telephony.action.TOGGLE_PROVISION" />
-    <protected-broadcast android:name= "android.telephony.action.NETWORK_COUNTRY_CHANGED" />
-    <protected-broadcast android:name= "android.telephony.action.PRIMARY_SUBSCRIPTION_LIST_CHANGED" />
-    <protected-broadcast android:name= "android.telephony.action.MULTI_SIM_CONFIG_CHANGED" />
-    <protected-broadcast android:name= "android.telephony.action.CARRIER_SIGNAL_RESET" />
-    <protected-broadcast android:name= "android.telephony.action.CARRIER_SIGNAL_PCO_VALUE" />
-    <protected-broadcast android:name= "android.telephony.action.CARRIER_SIGNAL_DEFAULT_NETWORK_AVAILABLE" />
-    <protected-broadcast android:name= "android.telephony.action.CARRIER_SIGNAL_REDIRECTED" />
-    <protected-broadcast android:name= "android.telephony.action.CARRIER_SIGNAL_REQUEST_NETWORK_FAILED" />
-
-    <protected-broadcast android:name= "com.android.phone.settings.CARRIER_PROVISIONING" />
-    <protected-broadcast android:name= "com.android.phone.settings.TRIGGER_CARRIER_PROVISIONING" />
-
-    <!-- For Vendor Debugging in Telephony -->
-    <protected-broadcast android:name="android.telephony.action.ANOMALY_REPORTED" />
-
-    <protected-broadcast android:name= "android.intent.action.SUBSCRIPTION_INFO_RECORD_ADDED" />
-    <protected-broadcast android:name= "android.intent.action.ACTION_MANAGED_ROAMING_IND" />
-    <protected-broadcast android:name= "android.telephony.ims.action.RCS_SINGLE_REGISTRATION_CAPABILITY_UPDATE" />
-
     <!-- Allows granting runtime permissions to telephony related components. -->
     <uses-permission android:name="android.permission.GRANT_RUNTIME_PERMISSIONS_TO_TELEPHONY_DEFAULTS" />
 
@@ -147,7 +58,6 @@
     <uses-permission android:name="android.permission.WRITE_SMS" />
     <uses-permission android:name="android.permission.SEND_SMS" />
     <uses-permission android:name="android.permission.SEND_RESPOND_VIA_MESSAGE" />
-    <uses-permission android:name="android.permission.SET_TIME_ZONE" />
     <uses-permission android:name="android.permission.SUGGEST_TELEPHONY_TIME_AND_ZONE" />
     <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
     <uses-permission android:name="android.permission.READ_PRIVILEGED_PHONE_STATE" />
@@ -156,7 +66,6 @@
     <uses-permission android:name="android.permission.DEVICE_POWER" />
     <uses-permission android:name="android.permission.DISABLE_KEYGUARD" />
     <uses-permission android:name="android.permission.INTERNET" />
-    <uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS" />
     <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
     <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
     <uses-permission android:name="android.permission.WRITE_APN_SETTINGS" />
@@ -189,8 +98,6 @@
     <uses-permission android:name="android.permission.REGISTER_SIM_SUBSCRIPTION" />
     <uses-permission android:name="android.permission.BIND_IMS_SERVICE" />
     <uses-permission android:name="android.permission.BIND_CARRIER_SERVICES" />
-    <!-- BIND_CARRIER_MESSAGING_SERVICE has been deprecated in favor of BIND_CARRIER_SERVICES. -->
-    <uses-permission android:name="android.permission.BIND_CARRIER_MESSAGING_SERVICE" />
     <uses-permission android:name="android.permission.BIND_EUICC_SERVICE" />
     <uses-permission android:name="android.permission.BIND_TELEPHONY_NETWORK_SERVICE" />
     <uses-permission android:name="android.permission.BIND_CELL_BROADCAST_SERVICE" />
@@ -207,6 +114,7 @@
     <uses-permission android:name="android.permission.LOCAL_MAC_ADDRESS" />
     <uses-permission android:name="android.permission.CHANGE_COMPONENT_ENABLED_STATE" />
     <uses-permission android:name="android.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST" />
+    <uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
     <!-- Needed to block messages. -->
     <uses-permission android:name="android.permission.READ_BLOCKED_NUMBERS" />
     <!-- Needed for emergency contact notification. -->
@@ -235,9 +143,19 @@
     <uses-permission android:name="android.permission.MANAGE_SUBSCRIPTION_PLANS"/>
     <uses-permission android:name="android.permission.OBSERVE_ROLE_HOLDERS"/>
     <uses-permission android:name="android.permission.BIND_GBA_SERVICE"/>
+    <!-- Permissions required for reading and logging compat changes -->
+    <uses-permission android:name="android.permission.LOG_COMPAT_CHANGE"/>
+    <uses-permission android:name="android.permission.READ_COMPAT_CHANGE_CONFIG"/>
 
     <!-- Needed to listen to changes in projection state. -->
     <uses-permission android:name="android.permission.READ_PROJECTION_STATE"/>
+    <!-- Needed to access TelephonyProvider SIMINFO table. -->
+    <uses-permission android:name="android.permission.ACCESS_TELEPHONY_SIMINFO_DB"/>
+    <uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
+
+    <permission android:name="com.android.phone.permission.ACCESS_LAST_KNOWN_CELL_ID"
+                android:label="Access last known cell identity."
+                android:protectionLevel="signature"/>
 
     <!-- Needed to block unwanted malicious pop up overlays -->
     <uses-permission android:name="android.permission.HIDE_NON_SYSTEM_OVERLAY_WINDOWS"/>
@@ -350,7 +268,7 @@
                 android:label="@string/labelCF"
                 android:configChanges="orientation|screenSize|keyboardHidden"
                 android:exported="true"
-                android:theme="@style/DialerSettingsLight">
+                android:theme="@style/CallSettingsWithoutDividerTheme">
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />
             </intent-filter>
@@ -360,7 +278,7 @@
                 android:label="@string/labelCF"
                 android:configChanges="orientation|screenSize|keyboardHidden"
                 android:exported="true"
-                android:theme="@style/DialerSettingsLight">
+                android:theme="@style/CallSettingsWithoutDividerTheme">
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />
             </intent-filter>
@@ -380,7 +298,7 @@
                 android:label="@string/labelGSMMore"
                 android:configChanges="orientation|screenSize|keyboardHidden"
                 android:exported="true"
-                android:theme="@style/DialerSettingsLight">
+                android:theme="@style/CallSettingsWithoutDividerTheme">
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />
             </intent-filter>
@@ -390,7 +308,7 @@
         <activity android:name="com.android.phone.settings.fdn.FdnSetting"
                 android:label="@string/fdn"
                 android:exported="true"
-                android:theme="@style/DialerSettingsLight">
+                android:theme="@style/CallSettingsWithoutDividerTheme">
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />
             </intent-filter>
@@ -438,9 +356,8 @@
                 android:label="@string/call_settings"
                 android:configChanges="orientation|screenSize|keyboardHidden"
                 android:exported="true"
-                android:theme="@style/DialerSettingsLight">
-            <intent-filter>
-                <action android:name="android.intent.action.VIEW" />
+                android:theme="@style/CallSettingsWithoutDividerTheme">
+            <intent-filter android:priority="1">
                 <action android:name="android.intent.action.MAIN" />
                 <action android:name="android.telecom.action.SHOW_CALL_SETTINGS" />
                 <category android:name="android.intent.category.DEFAULT" />
@@ -572,52 +489,6 @@
             </intent-filter>
         </activity>
 
-        <!-- Start SIP -->
-        <service android:name="com.android.services.telephony.sip.SipConnectionService"
-                 android:label="@string/sip_connection_service_label"
-                 android:singleUser="true"
-                 android:exported="true"
-                 android:permission="android.permission.BIND_TELECOM_CONNECTION_SERVICE" >
-            <intent-filter>
-                <action android:name="android.telecom.ConnectionService" />
-            </intent-filter>
-        </service>
-
-        <receiver android:name="com.android.services.telephony.sip.SipIncomingCallReceiver"
-            android:exported="true">
-            <intent-filter>
-                <action android:name="android.net.sip.action.SIP_INCOMING_CALL" />
-            </intent-filter>
-        </receiver>
-
-        <activity android:label="Sip Settings"
-                  android:name="com.android.services.telephony.sip.SipSettings"
-                  android:theme="@style/DialerSettingsLight"
-                  android:launchMode="singleTop"
-                  android:configChanges="orientation|screenSize|keyboardHidden"
-                  android:uiOptions="splitActionBarWhenNarrow"
-                  android:exported="true"
-                  android:parentActivityName="com.android.phone.CallFeaturesSetting" >
-            <intent-filter>
-                <action android:name="android.intent.action.MAIN" />
-                <action android:name="android.net.sip.NOTIFY" />
-            </intent-filter>
-        </activity>
-        <activity android:name="com.android.services.telephony.sip.SipEditor"
-                android:theme="@style/DialerSettingsLight"
-                android:configChanges="orientation|screenSize|keyboardHidden"
-                android:uiOptions="splitActionBarWhenNarrow">
-        </activity>
-
-        <service android:name="com.android.services.telephony.sip.components.TelephonySipService"
-            android:exported="true">
-            <intent-filter>
-                <action android:name="android.net.sip.action.START_SIP" />
-            </intent-filter>
-        </service>
-
-        <!-- End SIP -->
-
         <activity android:name="MMIDialogActivity"
                 android:configChanges="orientation|screenSize|keyboardHidden"
                 android:excludeFromRecents="true"
@@ -640,7 +511,7 @@
             android:configChanges="orientation|screenSize|keyboardHidden|screenLayout"
             android:screenOrientation="portrait"
             android:exported="true"
-            android:theme="@style/DialerSettingsLight">
+            android:theme="@style/CallSettingsWithoutDividerTheme">
             <intent-filter >
                 <!-- DO NOT RENAME. There are existing apps which use this string. -->
                 <action android:name="com.android.phone.CallFeaturesSetting.ADD_VOICEMAIL" />
@@ -706,7 +577,7 @@
                 <action android:name="android.telephony.NetworkService" />
             </intent-filter>
         </service>
-        <service android:name="com.android.internal.telephony.dataconnection.CellularDataService"
+        <service android:name="com.android.internal.telephony.data.CellularDataService"
             android:exported="true"
             android:permission="android.permission.BIND_TELEPHONY_DATA_SERVICE" >
             <intent-filter>
diff --git a/NOTICE b/NOTICE
deleted file mode 100644
index c5b1efa..0000000
--- a/NOTICE
+++ /dev/null
@@ -1,190 +0,0 @@
-
-   Copyright (c) 2005-2008, The Android Open Source Project
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
diff --git a/TEST_MAPPING b/TEST_MAPPING
index 75b9d49..3831b6b 100644
--- a/TEST_MAPPING
+++ b/TEST_MAPPING
@@ -10,6 +10,38 @@
     },
     {
       "name": "CarrierAppIntegrationTestCases"
+    },
+    {
+      "name": "CtsSimRestrictedApisTestCases",
+      "options": [
+        {
+          "exclude-annotation": "androidx.test.filters.FlakyTest"
+        }
+      ]
+    },
+    {
+      "name": "CtsTelephony2TestCases",
+      "options": [
+        {
+          "exclude-annotation": "androidx.test.filters.FlakyTest"
+        }
+      ]
+    },
+    {
+      "name": "CtsTelephony3TestCases",
+      "options": [
+        {
+          "exclude-annotation": "androidx.test.filters.FlakyTest"
+        }
+      ]
+    },
+    {
+      "name": "CtsTelephonyProviderTestCases",
+      "options": [
+        {
+          "exclude-annotation": "androidx.test.filters.FlakyTest"
+        }
+      ]
     }
   ]
 }
diff --git a/apex/Android.bp b/apex/Android.bp
deleted file mode 100644
index a0e5713..0000000
--- a/apex/Android.bp
+++ /dev/null
@@ -1,44 +0,0 @@
-package {
-    // See: http://go/android-license-faq
-    // A large-scale-change added 'default_applicable_licenses' to import
-    // all of the 'license_kinds' from "packages_services_Telephony_license"
-    // to get the below license kinds:
-    //   SPDX-license-identifier-Apache-2.0
-    default_applicable_licenses: ["packages_services_Telephony_license"],
-}
-
-apex_defaults {
-    name: "com.android.telephony-defaults",
-
-    // optional. if unspecified, a default one is auto-generated
-    androidManifest: "AndroidManifest.xml",
-
-    //java_libs: ["telephony-common", "ims-common", "voip-common"],
-    //apps: ["TeleService", "StkLib", "ONSLib"],
-
-    key: "com.android.telephony.key",
-    certificate: ":com.android.telephony.certificate",
-
-    updatable: false,
-}
-
-apex {
-    name: "com.android.telephony",
-    manifest: "apex_manifest.json",
-    //apps: ["StkLib"],
-
-    defaults:["com.android.telephony-defaults"],
-}
-
-apex_key {
-    name: "com.android.telephony.key",
-    public_key: "com.android.telephony.avbpubkey",
-    private_key: "com.android.telephony.pem",
-}
-
-android_app_certificate {
-    name: "com.android.telephony.certificate",
-    // This will use com.android.telephony.x509.pem (the cert) and
-    // com.android.telephony.pk8 (the private key)
-    certificate: "com.android.telephony",
-}
diff --git a/apex/AndroidManifest.xml b/apex/AndroidManifest.xml
deleted file mode 100644
index 6f25d7c..0000000
--- a/apex/AndroidManifest.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
- * Copyright (C) 2019 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- -->
-<manifest xmlns:android="http://schemas.android.com/apk/res/android"
-          package="com.android.telephony">
-    <!-- APEX does not have classes.dex -->
-    <application android:hasCode="false" />
-    <!-- Setting maxSdk to lock the module to R. minSdk is auto-set by build system -->
-</manifest>
diff --git a/apex/apex_manifest.json b/apex/apex_manifest.json
deleted file mode 100644
index 493d6fd..0000000
--- a/apex/apex_manifest.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
-  "name": "com.android.telephony",
-  "version": 1
-}
\ No newline at end of file
diff --git a/apex/com.android.telephony.avbpubkey b/apex/com.android.telephony.avbpubkey
deleted file mode 100644
index cba14427..0000000
--- a/apex/com.android.telephony.avbpubkey
+++ /dev/null
Binary files differ
diff --git a/apex/com.android.telephony.pem b/apex/com.android.telephony.pem
deleted file mode 100644
index 19d8c05..0000000
--- a/apex/com.android.telephony.pem
+++ /dev/null
@@ -1,51 +0,0 @@
------BEGIN RSA PRIVATE KEY-----
-MIIJKQIBAAKCAgEAvEOU0eLO65uykCUYoLBXxjsIB7pCIXahtyIMYiGuUl6tnYb2
-gjPxsD9fNrqgdT+WgzHlfMPr4GqkT7prSI4/y9NglnFk2nAKZLQwiwtLOmm54Cnp
-OqqQZ9+g4MvA2rsrmstJ/Pdu4t+9Bv9bZHYLEPCW4LV1v5S2jY7ie/C+SbZm8yFz
-X9RgTX7loH7oSNDqvVMRUeyrlH3gRHxPMQxIMfLMro1NCfkA4q8QnwPpM2+YEBf0
-kktXkvbfJUB0Ywo6BCVAoqxkghNQQTLBuBDFnho13gQSMOLu8C62pzdAyPm/n5Yv
-aqEdmmGkBsy2qiHTiRuiWWl9aGDhd0U6e+hYK4OM3ISDQiTr5OuraIKt8EH7jo8H
-Zb/WqJFygOq5RqXmAvbtq+eBAgLlUNAl5F9RwLU6zPTREsSGG/g1fqUSD4ZS2qHt
-d9aBdSepvL4xDCg9BDTFMt4Xjc83hk+v7nIIPB4cayA9s2kgjXwjZhiMOJuoNMmr
-Wu2GP9zw37WmUF5jXKgICVtoq//qofA3KA+YZ8NcmPRmeBzCEks5fCAZN64AIh5l
-vi8pPv+s8lbhGui/dkgJAGoMWKwukMZZDxTFfgbPU74yIWUpoiXGEv+0WPsOyxKe
-HEC0uXL6h6HtTaxTTyk9OJp1Z12ih2CdHmoK8aHeL1ND+YXxko4rcVyJGvcCAwEA
-AQKCAgAve1gAa5TGhZlOk5yXgoJQw7itwkNFj1cQCi1XXqlJqwlcrppjklhFnGYW
-NpGboLMEWcRIaF2IVz0jwp+mSAI9FQ3KQ8Us9o8YgP2xQ+LwU5QGvmtNWZFcMWGw
-8JKuWACSZO0/OOSlocpaBnN1bfQyjItxFzMgY5B7OWtT2Q8VJkTm0yv3Img7g2LE
-zN0m6FIb9+RpZiiMJgc3HqcWdsOKnXMUHx0sA7o+cereQC1DxMR0YqZTc18d+Nek
-3JG+HOku/HpFzPb4e4iFORj0pH5C9tdZLGuuGr4qo417tQrI5Xx38nf5C7OcqT2m
-XWFAnZFthiO3K0zu02hqHXK3p4z81aerzOAFHQP9Dvw0LrEevhMS7POwnoBMWIYT
-j2oJAKf84AIt+URNxRMcOH4Vs8133ZJxesotYzEdZBN4KBukCC+MzLtkJ3C3vLSu
-PPlwYfS0T/wMLBlQRfGM2pZbuldc4Th+VuE8lvDIvmZKxUXdAh/OkTJRt95SSpFQ
-PZy9NauagIaDyE08z3vgiYUH/498piibXiv4ox9puyfDI30W7VlZA9NBV7UBhkcV
-vxmop3U4KJdI0dcwB/8oQao/eM8Bk8TOI58Ux/gM+7tLM+pzeIPlKsZ3GWjZYyZi
-Fds7JdprR2AljUoKXAGA3G2IejhiB6VSivR8IRLwdWZSAaM9iQKCAQEA512QfnYR
-MDjYzUBYySHANVFi09q3taoYJ1Ovq4w3YnC4Yy6OM1rI1g55mhzGGnrQhC8//Lwy
-v9fxhxEQkx8rY40KJRizfc28l3gIFzF+/mP5DqUQiVZQBiAm0m0y3LA1xTCRxyc/
-yLWCodFOojcg8H3vxDUiL+80wLRX/zXmUHjhGmg+sZVtuWTVpgdFEGR1guVAoXPM
-t6p9+Zpr+yhURRuce7IfjVxIXtjzaZ6fglCYSnakhxvBMWvvhhD2Sx60bl0sBpsT
-oj4VZmd7i01bde1H2BlJ9ca23uGPylvmC+kVFVoqnMv7dZuhHgQY06zg+zts8Grm
-mVcTa5xKtEr2FQKCAQEA0E8t9/XV6tEH5BoiZ6SLIYeh+yk/h8hQKGn+lnzcywon
-L/EEtvqzoeIkbLATOk4ffbiYtI86GxldPUp293ups9rJCJdb7fIahJJd4Pl9d9QF
-dEWkuMC9btyBq0WjvJLIVxKLcBv9NAMnfLYIWk4OfAXQ2Kgv4OrYmxqtLdnzqIT0
-4jgQcHkaDbPIBkOAfAcyy6b6TNsdhiR/ojZ/3s7e0YpUhUkvGqHPeGkg827fznui
-mOSvuIC1eg92Kpsv/NzZkSkhh+Y4yT3mXTPkdRrIoRiwfUsBx9c3CUB1bhMlqYdP
-p9IwfcDYPmPIWqD/5EIm5CIFTh/qFuJuB/RP1xr72wKCAQEAm6BZGGdsqmYilvWI
-g0o7kuG6u0xstDrE4nctPBQmEQZHURe4uRyA6VN1Qk/GhXtFFRT/Uo55CIhFw5eb
-8YpO0jjFsSxLV/zytWQc9RTrGky+87XeSLMRQv2Pf43KX537nTdNZ4ukIOrPAu/a
-l8zDUGE1zWH8LAgYEON+KYHk+Q5GRFAIk8UyuDj2aSaMszkPvktczP0qoASDlkjk
-B14aSR4IhT/Mb3a6i2odWVdEbhCuT7A8fVETA55Z0HFKaj8uGOp9ObhIXaKrHGXR
-OWOAePNxlw9zq2nOCl/pK7HjLPHMp78t2Khw7awQlTMmTAQGlZdkcNdHY6+ptYG8
-0kd1/QKCAQAaosVB+5FK4UedByp3DjcsJmez8eZJundlc4g2PekNnVK9cpgjvZLS
-lFQMAcezoOGt9biw/c90P54IhEkKBCoC8WrbSl9a4aY6ZWzTo5NDizzXTUBuz1Zp
-opCCEfmJ10r+t0RVJX8O84hNDgmrYme/vA6kZX0ZyW3BB3w1bLUXS0j01C5l81Y9
-gkuFYYRAV7tLByLiSPJRgMFBQK7BErqzGHkOQflf8mjRAMBR4E+F25FC85r0gKCz
-5t45PHa6YpL/WL8M3YdNVDjsmgIQZ0hYMQwAOWMU5pQG/tMFLDWYo9CvqNTCf7Im
-6CNqU0PlMABBE4iSIMqR+ooPQlIjMzQZAoIBAQC9JulZdQJzjZSI5tBj+zPScJJQ
-s/+sRfQBy7SalPtc+oLYBP2Js9c1JsR4Dk2vC3V5z7BaL4Lg4YcFVRcz9B4yUVRm
-BL/E34XGLfn5KBI8NeqIvHiivvlAPgoHwHAVsqtE35E2sYjOYbnn1FEaNm6EKiL3
-Dv1auVdLlP3jALJIEwHPzc2ZOc/Sh/LolfajR427j5YlgbMAk5DdXuxz7t9qEcyk
-Nc8HFaoXiBP1jK+L5C4mVvGeI9xghNoJXhNywEmMa2Shab0pmtOMQWuvNMQa3gRC
-OKbaM3A6zjvAl3rjFRBrGORqbu1E/InLOSXWuB8knYVf8LkWEDRjOHqMO3pJ
------END RSA PRIVATE KEY-----
diff --git a/apex/com.android.telephony.pk8 b/apex/com.android.telephony.pk8
deleted file mode 100644
index b15a884..0000000
--- a/apex/com.android.telephony.pk8
+++ /dev/null
Binary files differ
diff --git a/apex/com.android.telephony.x509.pem b/apex/com.android.telephony.x509.pem
deleted file mode 100644
index 8b45823..0000000
--- a/apex/com.android.telephony.x509.pem
+++ /dev/null
@@ -1,35 +0,0 @@
------BEGIN CERTIFICATE-----
-MIIGKTCCBBGgAwIBAgIUCmopA1YmjspwjjHHjmtsDPqxBxgwDQYJKoZIhvcNAQEL
-BQAwgaIxCzAJBgNVBAYTAlVTMRMwEQYDVQQIDApDYWxpZm9ybmlhMRYwFAYDVQQH
-DA1Nb3VudGFpbiBWaWV3MRAwDgYDVQQKDAdBbmRyb2lkMRAwDgYDVQQLDAdBbmRy
-b2lkMR4wHAYDVQQDDBVjb20uYW5kcm9pZC50ZWxlcGhvbnkxIjAgBgkqhkiG9w0B
-CQEWE2FuZHJvaWRAYW5kcm9pZC5jb20wIBcNMTkxMjA0MDAzNjAxWhgPNDc1NzEw
-MzAwMDM2MDFaMIGiMQswCQYDVQQGEwJVUzETMBEGA1UECAwKQ2FsaWZvcm5pYTEW
-MBQGA1UEBwwNTW91bnRhaW4gVmlldzEQMA4GA1UECgwHQW5kcm9pZDEQMA4GA1UE
-CwwHQW5kcm9pZDEeMBwGA1UEAwwVY29tLmFuZHJvaWQudGVsZXBob255MSIwIAYJ
-KoZIhvcNAQkBFhNhbmRyb2lkQGFuZHJvaWQuY29tMIICIjANBgkqhkiG9w0BAQEF
-AAOCAg8AMIICCgKCAgEA4qQYe8S6yte4MUDF2/JBUulJLF15CdnALkDJuGYLRom2
-DxRpq2/IqX8gpwVfZCfVjtthKGMhsdLW9gI+oKck0eVB7Q2cU/WO+1Cr9cuKuT6B
-cfJUck125gRGmowWZomDXv1to6ZrGgqBlVGA546w3CNGXW/PoKr8im+xLEgD0TPA
-3jJCbxt2v2IDjMwPChHOF57y9wRkXN5aJHgwIvayReVy3Cko/rJOuPnNo2kLKI5u
-qfM4NovYNAzKbHHPCNzqhySoh2H0iTmHLby5bvXYh32ooGPmxrP6q8PubeNb+Xfc
-yY33tE74ityiqu/2FDuK2iZyL8EZkEWHbX4ddt/JREda1Mcnt95TUudqA28xHgC4
-wRYXLUADvKDVWOYu/ydWBes1iu7ZsEhy8oFdECsZGRQm2BkdmWAsMPUXRWeiaCQ4
-GFfpB38UPczY5GTgYwKAK3mmY5EeBKRu/hFMCfYGJvio2rUujRzIGOd6ovk+G/74
-Eqdbsphrkr6+UOCUrNOYUD0j7kDHVVDiWMoeKL6Qb+dFcewdDO1rRbZv8ZeExf6l
-vacfKKcEE+wls8jqof/y7cu+McGEn4R8+KKiRDcDQqLvZN4Q+CCtNRLiXA2KdrkB
-hKfhnTBBYfDNZA1WOhGrKM+Yb97ObgAgf2HuhZ2F40F3dRZ6w8yaURXAjkdCqycC
-AwEAAaNTMFEwHQYDVR0OBBYEFDCf58Ogbx07WK+hWEylNMxKYrj6MB8GA1UdIwQY
-MBaAFDCf58Ogbx07WK+hWEylNMxKYrj6MA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZI
-hvcNAQELBQADggIBABoGWqoOfPBsXFYzP7aNhywhuCr6ddjAi3ss9vwod6JuVuVg
-Inuw1i/qPb/bO1JFEwYVH3w0JASMwzIl9h5sQv++z0P+cWsLW02AXyszb0jGD3CI
-ni/irO5PO0DdaTSHQWc8DEv0293EcqpKWmQDQ2XWH19rJ5f+Gx1046sFlUi633D2
-sFO5dG94pCtT/TcqwwkeEwA6cV2Re8F1AW8elal3sINBU5MI/OJ3GQDe+pqp9VTg
-xIEQfZ9oP6Ewl6Ect+M2hVG5X4mCk9HQL7aSuPKo2Ej6l3Xq4aQYlpO4wOVZgCJC
-chMbdAn2pjuk8+mDSR39hdIusOgr7zLZscmaGKyoxVz9KVNwd/mmu+9/mftGfYae
-RomF15hVnkhZAw21fSnhKry62+DuKt2WIyu5LqvTvRxFs0Hvoy3wrQY/oruHlgk1
-J1v1rXm3ZTrh2qv1XG8mOdTegurEvjkYQm0E38jdlkhByIHmhDdBARX2Aeb7Lrd8
-9k/7tr9+58+45punZBBMX6iW1xfwaCDF8xfZrrC96azXP6Kv/JZTxbfNm/dqHyKK
-zM2WhELaoJg7uFO9TC5eMsnBQzDoYXsr3Mu7nC7V1Bs/D7jYmFG0dG0LQJwUUGr1
-WqJT4LB0BMnzNrMH1hTQTBVYDlfn7c6fnihNBOWQt72x2GGFQsGAMUWb7pxC
------END CERTIFICATE-----
diff --git a/apex/testing/Android.bp b/apex/testing/Android.bp
deleted file mode 100644
index 1138b5e..0000000
--- a/apex/testing/Android.bp
+++ /dev/null
@@ -1,34 +0,0 @@
-// Copyright (C) 2019 The Android Open Source Project
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-package {
-    // See: http://go/android-license-faq
-    // A large-scale-change added 'default_applicable_licenses' to import
-    // all of the 'license_kinds' from "packages_services_Telephony_license"
-    // to get the below license kinds:
-    //   SPDX-license-identifier-Apache-2.0
-    default_applicable_licenses: ["packages_services_Telephony_license"],
-}
-
-apex {
-    name: "test_com.android.telephony",
-    visibility: [
-        "//system/apex/tests",
-    ],
-    defaults: ["com.android.telephony-defaults"],
-    manifest: "test_manifest.json",
-    file_contexts: ":com.android.telephony-file_contexts",
-    // Test APEX, should never be installed
-    installable: false,
-}
diff --git a/apex/testing/AndroidManifest.xml b/apex/testing/AndroidManifest.xml
deleted file mode 100644
index e2af9f5..0000000
--- a/apex/testing/AndroidManifest.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
- * Copyright (C) 2019 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- -->
-<manifest xmlns:android="http://schemas.android.com/apk/res/android"
-          package="com.android.telephony">
-    <!-- APEX does not have classes.dex -->
-    <application android:hasCode="false" />
-    <uses-sdk
-        android:targetSdkVersion="30"
-    />
-</manifest>
\ No newline at end of file
diff --git a/apex/testing/test_manifest.json b/apex/testing/test_manifest.json
deleted file mode 100644
index 30bfda2..0000000
--- a/apex/testing/test_manifest.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
-  "name": "com.android.telephony",
-  "version": 2147483647
-}
\ No newline at end of file
diff --git a/ecc/conversion_toolset_v1/proto/Android.bp b/ecc/conversion_toolset_v1/proto/Android.bp
index 632ab40..cefd789 100644
--- a/ecc/conversion_toolset_v1/proto/Android.bp
+++ b/ecc/conversion_toolset_v1/proto/Android.bp
@@ -14,11 +14,7 @@
 
 package {
     // See: http://go/android-license-faq
-    // A large-scale-change added 'default_applicable_licenses' to import
-    // all of the 'license_kinds' from "packages_services_Telephony_license"
-    // to get the below license kinds:
-    //   SPDX-license-identifier-Apache-2.0
-    default_applicable_licenses: ["packages_services_Telephony_license"],
+    default_applicable_licenses: ["Android-Apache-2.0"],
 }
 
 java_library_static {
diff --git a/res/drawable-hdpi/ic_dialer_sip_black_24dp.png b/res/drawable-hdpi/ic_dialer_sip_black_24dp.png
deleted file mode 100644
index 37dabfc..0000000
--- a/res/drawable-hdpi/ic_dialer_sip_black_24dp.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/ic_launcher_sip_call.png b/res/drawable-hdpi/ic_launcher_sip_call.png
deleted file mode 100644
index f1aa979..0000000
--- a/res/drawable-hdpi/ic_launcher_sip_call.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/ic_dialer_sip_black_24dp.png b/res/drawable-mdpi/ic_dialer_sip_black_24dp.png
deleted file mode 100644
index 51d5e13..0000000
--- a/res/drawable-mdpi/ic_dialer_sip_black_24dp.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/ic_launcher_sip_call.png b/res/drawable-mdpi/ic_launcher_sip_call.png
deleted file mode 100644
index d10b6bf..0000000
--- a/res/drawable-mdpi/ic_launcher_sip_call.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/ic_dialer_sip_black_24dp.png b/res/drawable-xhdpi/ic_dialer_sip_black_24dp.png
deleted file mode 100644
index 619a79f..0000000
--- a/res/drawable-xhdpi/ic_dialer_sip_black_24dp.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/ic_launcher_sip_call.png b/res/drawable-xhdpi/ic_launcher_sip_call.png
deleted file mode 100644
index e9f655b..0000000
--- a/res/drawable-xhdpi/ic_launcher_sip_call.png
+++ /dev/null
Binary files differ
diff --git a/res/layout/emergency_dialer.xml b/res/layout/emergency_dialer.xml
index ab32c62..3eaeb19 100644
--- a/res/layout/emergency_dialer.xml
+++ b/res/layout/emergency_dialer.xml
@@ -66,94 +66,7 @@
             android:layout_gravity="bottom"
             android:orientation="vertical">
 
-            <!-- FrameLayout -->
-            <com.android.phone.EmergencyActionGroup
-                android:id="@+id/emergency_action_group"
-                android:layout_height="64dp"
-                android:layout_width="match_parent"
-                android:layout_marginHorizontal="36dp"
-                android:layout_marginTop="16dp"
-                android:layout_marginBottom="24dp">
-
-                <!-- Button that says: Emergency Information -->
-                <LinearLayout
-                    android:layout_width="match_parent"
-                    android:layout_height="match_parent">
-                    <Button android:layout_width="0dp"
-                            android:layout_height="match_parent"
-                            android:layout_weight="1"
-                            android:background="@drawable/btn_emergency"
-                            android:id="@+id/action1" />
-                    <Button android:layout_width="0dp"
-                            android:layout_height="match_parent"
-                            android:layout_weight="1"
-                            android:background="@drawable/btn_emergency"
-                            android:id="@+id/action2" />
-                    <Button android:layout_width="0dp"
-                            android:layout_height="match_parent"
-                            android:layout_weight="1"
-                            android:background="@drawable/btn_emergency"
-                            android:id="@+id/action3" />
-                </LinearLayout>
-
-                <!-- View that shows up on top of "emergency information" button
-                and asks you to tap again to confirm the action -->
-                <FrameLayout
-                    android:layout_width="match_parent"
-                    android:layout_height="match_parent"
-                    android:id="@+id/selected_container"
-                    android:visibility="invisible"
-                    android:focusable="true"
-                    android:clickable="true">
-
-                    <View
-                        android:layout_width="match_parent"
-                        android:layout_height="match_parent"
-                        android:backgroundTint="#ffe32926"
-                        android:focusable="false"
-                        android:clickable="false"
-                        style="?android:attr/buttonStyle"/>
-
-                    <View
-                        android:layout_width="match_parent"
-                        android:layout_height="match_parent"
-                        android:id="@+id/ripple_view"
-                        android:backgroundTint="#22ffffff"
-                        android:visibility="invisible"
-                        android:focusable="false"
-                        android:clickable="false"
-                        style="?android:attr/buttonStyle"/>
-
-                    <LinearLayout
-                        android:layout_width="match_parent"
-                        android:layout_height="match_parent"
-                        android:orientation="vertical"
-                        android:focusable="false"
-                        android:clickable="false"
-                        android:backgroundTint="#00000000"
-                        style="?android:attr/buttonStyle">
-                        <TextView
-                            android:layout_width="match_parent"
-                            android:layout_height="wrap_content"
-                            android:gravity="center"
-                            android:maxLines="1"
-                            android:id="@+id/selected_label"
-                            android:textColor="@android:color/white"
-                            android:textAppearance="?android:attr/textAppearanceButton" />
-                        <TextView
-                            android:layout_width="wrap_content"
-                            android:layout_height="wrap_content"
-                            android:id="@+id/launch_hint"
-                            android:maxLines="1"
-                            android:autoSizeTextType="uniform"
-                            android:text="@string/emergency_action_launch_hint"
-                            android:textColor="@android:color/white"
-                            android:textStyle="italic" />
-                    </LinearLayout>
-
-                </FrameLayout>
-
-            </com.android.phone.EmergencyActionGroup>
+            <include layout="@layout/emergency_information"/>
             <Space
                 android:id="@+id/emergency_info_dialpad_spacer"
                 android:layout_width="match_parent"
diff --git a/res/layout/radio_info.xml b/res/layout/radio_info.xml
index 68c67a3..2a2ad89 100644
--- a/res/layout/radio_info.xml
+++ b/res/layout/radio_info.xml
@@ -92,6 +92,12 @@
             <TextView android:id="@+id/data_network" style="@style/info_value" />
         </LinearLayout>
 
+        <!-- Override Network Type -->
+        <LinearLayout style="@style/RadioInfo_entry_layout">
+            <TextView android:text="@string/radio_info_override_network_type_label" style="@style/info_label" />
+            <TextView android:id="@+id/override_network" style="@style/info_value" />
+        </LinearLayout>
+
         <!-- Voice Service Status -->
         <LinearLayout style="@style/RadioInfo_entry_layout">
             <TextView android:text="@string/radio_info_gsm_service_label" style="@style/info_label" />
@@ -252,6 +258,15 @@
                 android:layout_height="wrap_content"
                 android:text="@string/dsds_switch_string" />
 
+        <!-- Set removable eSIM as default eUICC. -->
+        <Switch android:id="@+id/removable_esim_switch"
+                android:textSize="14sp"
+                android:layout_marginTop="8dip"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:enabled="false"
+                android:text="@string/removable_esim_string" />
+
         <!-- Horizontal Rule -->
         <View
             android:layout_width="fill_parent"
diff --git a/res/values-af/strings.xml b/res/values-af/strings.xml
index 76b13c6..bf10c79 100644
--- a/res/values-af/strings.xml
+++ b/res/values-af/strings.xml
@@ -637,14 +637,8 @@
     <string name="phone_in_ecm_notification_title" msgid="6825016389926367946">"Noodterugbel-modus"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="653972232922670335">"Dataverbinding gedeaktiveer"</string>
     <string name="phone_in_ecm_notification_complete_time" msgid="7341624337163082759">"Geen dataverbinding tot <xliff:g id="COMPLETETIME">%s</xliff:g> nie"</string>
-    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="5425906903766466743">
-      <item quantity="other">Die foon sal <xliff:g id="COUNT_1">%s</xliff:g> minute lank in noodterugbelmodus wees. Terwyl dit in hierdie modus is, kan geen programme gebruik word wat \'n dataverbinding gebruik nie. Wil jy nou uitgaan?</item>
-      <item quantity="one">Die foon sal <xliff:g id="COUNT_0">%s</xliff:g> minuut lank in noodterugbelmodus wees. Terwyl dit in hierdie modus is, kan geen programme gebruik word wat \'n dataverbinding gebruik nie. Wil jy nou uitgaan?</item>
-    </plurals>
-    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="1152682528741457004">
-      <item quantity="other">Die gekose handeling is nie beskikbaar terwyl die foon in die noodterugbelmodus is nie. Die foon sal <xliff:g id="COUNT_1">%s</xliff:g> minute lank in hierdie modus wees. Wil jy nou uitgaan?</item>
-      <item quantity="one">Die gekose handeling is nie beskikbaar terwyl die foon in die noodterugbelmodus is nie. Die foon sal <xliff:g id="COUNT_0">%s</xliff:g> minuut lank in hierdie modus wees. Wil jy nou uitgaan?</item>
-    </plurals>
+    <string name="alert_dialog_exit_ecm" msgid="7661603870224398025">"{count,plural, =1{Die foon sal in noodterugbelmodus wees vir een minuut. Terwyl hierdie modus aktief is, kan geen programme wat \'n dataverbinding nodig het, gebruik word nie. Wil jy nou uitgaan?}other{Die foon sal in noodterugbelmodus wees vir %s minute. Terwyl hierdie modus aktief is, kan geen programme wat \'n dataverbinding nodig het, gebruik word nie. Wil jy nou uitgaan?}}"</string>
+    <string name="alert_dialog_not_avaialble_in_ecm" msgid="8717711120099503279">"{count,plural, =1{Die geselekteerde handeling is nie beskikbaar terwyl die noodterugbelmodus aktief is nie. Die modus sal vir een minuut op hierdie foon aktief wees. Wil jy nou uitgaan?}other{Die geselekteerde handeling is nie beskikbaar terwyl die noodterugbelmodus aktief is nie. Die modus sal vir %s minute op hierdie foon aktief wees. Wil jy nou uitgaan?}}"</string>
     <string name="alert_dialog_in_ecm_call" msgid="1207545603149771978">"Die gekose handeling is nie beskikbaar tydens \'n noodoproep nie."</string>
     <string name="progress_dialog_exiting_ecm" msgid="9159080081676927217">"Verlaat noodterugbel-modus"</string>
     <string name="alert_dialog_yes" msgid="3532525979632841417">"Ja"</string>
@@ -652,10 +646,7 @@
     <string name="alert_dialog_dismiss" msgid="1336356286354517054">"Maak toe"</string>
     <string name="phone_in_ecm_call_notification_text_without_data_restriction_hint" msgid="3747860785153531225">"Die foon is in noodterugbelmodus"</string>
     <string name="phone_in_ecm_notification_complete_time_without_data_restriction_hint" msgid="3690292264812050858">"Tot <xliff:g id="COMPLETETIME">%s</xliff:g>"</string>
-    <plurals name="alert_dialog_exit_ecm_without_data_restriction_hint" formatted="false" msgid="6477733043040328640">
-      <item quantity="other">Die foon sal in noodterugbelmodus wees vir <xliff:g id="COUNT_1">%s</xliff:g> minute.\nWil jy nou uitgaan?</item>
-      <item quantity="one">Die foon sal in noodterugbelmodus wees vir <xliff:g id="COUNT_0">%s</xliff:g> minuut.\nWil jy nou uitgaan?</item>
-    </plurals>
+    <string name="alert_dialog_exit_ecm_without_data_restriction_hint" msgid="7549850847524907932">"{count,plural, =1{Die foon sal in noodterugbelmodus wees vir een minuut.\nWil jy nou uitgaan?}other{Die foon sal in noodterugbelmodus wees vir %s minute.\nWil jy nou uitgaan?}}"</string>
     <string name="voicemail_provider" msgid="4158806657253745294">"Diens"</string>
     <string name="voicemail_settings" msgid="4451045613238972776">"Opstelling"</string>
     <string name="voicemail_number_not_set" msgid="8831561283386938155">"&lt;Nie gestel nie&gt;"</string>
@@ -683,7 +674,6 @@
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"Toeganklikheid"</string>
     <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"Wi-Fi-oproep vanaf"</string>
     <string name="status_hint_label_wifi_call" msgid="942993035689809853">"Wi-Fi-oproep"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"Tik weer om oop te maak"</string>
     <string name="message_decode_error" msgid="1061856591500290887">"Kon nie die boodskap dekodeer nie."</string>
     <string name="callFailed_cdma_activation" msgid="5392057031552253550">"\'n SIM-kaart het jou diens geaktiveer en jou foon se swerwingvermoëns opgedateer."</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"Daar is te veel aktiewe oproepe. Beëindig of voeg asseblief bestaande oproepe saam voordat jy \'n nuwe een maak."</string>
@@ -827,7 +817,7 @@
     <string name="callFailed_already_dialing" msgid="7250591188960691086">"Kan nie \'n oproep maak nie, aangesien \'n ander uitgaande oproep reeds besig is om te skakel."</string>
     <string name="callFailed_already_ringing" msgid="2376603543544289303">"Kan nie \'n oproep maak nie, aangesien daar \'n onbeantwoorde inkomende oproep is. Beantwoord of weier die inkomende oproep voordat jy \'n nuwe oproep plaas."</string>
     <string name="callFailed_calling_disabled" msgid="5010992739401206283">"Kan nie \'n oproep maak nie, aangesien oproepmaking gedeaktiveer is deur die ro.telephony.disable-belstelseleienskap te gebruik."</string>
-    <string name="callFailed_too_many_calls" msgid="5379426826618582180">"Kan nie \'n oproep maak nie, aangesien daar reeds twee oproepe aan die gang is. Ontkoppel een van die oproepe of voeg dit saam in \'n konferensie voordat \'n nuwe oproep gemaak word."</string>
+    <string name="callFailed_too_many_calls" msgid="2761754044990799580">"Kan nie ’n oproep maak nie, aangesien twee oproepe reeds aan die gang is. Ontkoppel een van die oproepe of voeg dit saam in ’n konferensie voordat ’n nuwe oproep gemaak word."</string>
     <string name="supp_service_over_ut_precautions" msgid="2145018231396701311">"Om <xliff:g id="SUPP_SERVICE">%s</xliff:g> te gebruik, maak seker dat mobiele data aangeskakel is. Jy kan dit in selnetwerk-instellings verander."</string>
     <string name="supp_service_over_ut_precautions_roaming" msgid="670342104569972327">"Om <xliff:g id="SUPP_SERVICE">%s</xliff:g> te gebruik, maak seker dat mobiele data en dataswerwing aangeskakel is. Jy kan dit in selnetwerk-instellings verander."</string>
     <string name="supp_service_over_ut_precautions_dual_sim" msgid="5166866975550910474">"Om <xliff:g id="SUPP_SERVICE">%1$s</xliff:g> te gebruik, maak seker dat mobiele data vir SIM <xliff:g id="SIM_NUMBER">%2$d</xliff:g> aangeskakel is. Jy kan dit in selnetwerk-instellings verander."</string>
@@ -845,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"Jy moet jou toestel herbegin om dié instelling te verander."</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"Herbegin"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"Kanselleer"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"Stel Verwyderbare-e-SIM as Verstek"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"Mobieleradiokrag"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"Bekyk SIM-adresboek"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"Kyk na vaste skakelnommers"</string>
@@ -899,6 +890,7 @@
     <string name="radio_info_band_mode_label" msgid="23480556225515290">"Kies radioband"</string>
     <string name="radio_info_voice_network_type_label" msgid="2395347336419593265">"Stemnetwerktipe:"</string>
     <string name="radio_info_data_network_type_label" msgid="8886597029237501929">"Datanetwerktipe:"</string>
+    <string name="radio_info_override_network_type_label" msgid="4176280017221092005">"Ignoreer Netwerktipe:"</string>
     <string name="phone_index_label" msgid="6222406512768964268">"Kies foonindeks"</string>
     <string name="radio_info_set_perferred_label" msgid="7408131389363136210">"Stel voorkeurnetwerktipe:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="6951237885381284790">"Pieng gasheernaam(www.google.com) IPv4:"</string>
@@ -910,10 +902,10 @@
     <string name="radio_info_smsc_refresh_label" msgid="8409923721451604560">"Herlaai"</string>
     <string name="radio_info_toggle_dns_check_label" msgid="1394078554927787350">"Wissel DNS-kontrole"</string>
     <string name="oem_radio_info_label" msgid="2914167475119997456">"OEM-spesifieke inligting/instellings"</string>
-    <string name="radio_info_endc_available" msgid="4410653375290113436">"EN-DC is beskikbaar:"</string>
-    <string name="radio_info_dcnr_restricted" msgid="2469125498066960807">"DCNR is beperk:"</string>
-    <string name="radio_info_nr_available" msgid="1321318331361249997">"NR is beskikbaar:"</string>
-    <string name="radio_info_nr_state" msgid="1337571996788535356">"NR-status:"</string>
+    <string name="radio_info_endc_available" msgid="2983767110681230019">"EN-DC-beskikbaar (NSA):"</string>
+    <string name="radio_info_dcnr_restricted" msgid="7147511536420148173">"DCNR-beperk (NSA):"</string>
+    <string name="radio_info_nr_available" msgid="3383388088451237182">"NR-beskikbaar (NSA):"</string>
+    <string name="radio_info_nr_state" msgid="4158805093187555149">"NR-staat (NSA):"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR-frekwensie:"</string>
     <string name="band_mode_title" msgid="7988822920724576842">"Stel radiobandmodus"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"Laai tans bandlys …"</string>
diff --git a/res/values-am/strings.xml b/res/values-am/strings.xml
index a808559..6781a2a 100644
--- a/res/values-am/strings.xml
+++ b/res/values-am/strings.xml
@@ -627,7 +627,7 @@
     <string name="ota_progress" msgid="8837259285255700132">"ስልክዎን ፕሮግራም በማድረግ ላይ…"</string>
     <string name="ota_failure" msgid="5674217489921481576">"ስልክዎን ፕሮግራም ማድረግ አልተቻለም"</string>
     <string name="ota_successful" msgid="1106825981548107774">"አሁን ስልክዎ አግብሯል።አገልግሎቱ ለመጀመር እስከ 15 ደቂቃዎች ሊፈጅ ይችላል።"</string>
-    <string name="ota_unsuccessful" msgid="8531037653803955754">"ስልክህ አላገበረም።\n ጥሩ ሽፋን ያለበት አካባቢ ማግኘት ያስፈልግሃል (መስኮት፣ ወይም ውጪ አካባቢ)።ለበለጠ አማራጮች የደንበኞች አገልግሎት ደውል ወይም \n\nእንደገና ሞክር።"</string>
+    <string name="ota_unsuccessful" msgid="8531037653803955754">"ስልክህ አላገበረም።\n ጥሩ ሽፋን ያለበት አካባቢ ማግኘት ያስፈልግሃል (መስኮት፣ ወይም ውጭ አካባቢ)።ለበለጠ አማራጮች የደንበኞች አገልግሎት ደውል ወይም \n\nእንደገና ሞክር።"</string>
     <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>
@@ -637,14 +637,8 @@
     <string name="phone_in_ecm_notification_title" msgid="6825016389926367946">"የአደጋጊዜ ተዘዋዋሪጥሪ ሁነታ"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="653972232922670335">"የውሂብ ተያያዥነት አልነቃም"</string>
     <string name="phone_in_ecm_notification_complete_time" msgid="7341624337163082759">"እሰከ <xliff:g id="COMPLETETIME">%s</xliff:g> የውሂብ ግንኙነት የለም"</string>
-    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="5425906903766466743">
-      <item quantity="one">ስልኩ በድንገተኛ ጥሪ መልሶ መደወያ ሁነታ ለ <xliff:g id="COUNT_1">%s</xliff:g> ደቂቃዎች ይቆያል። በዚህ ሁነታ ላይ በሚሆንበት ጊዜ የውሂብ ግንኙነትን የሚጠቀሙ ማናቸውም መተግበሪያዎች ጥቅም ላይ ሊውሉ አይችሉም። አሁን መውጣት ይፈልጋሉ?</item>
-      <item quantity="other">ስልኩ በድንገተኛ ጥሪ መልሶ መደወያ ሁነታ ለ <xliff:g id="COUNT_1">%s</xliff:g> ደቂቃዎች ይቆያል። በዚህ ሁነታ ላይ በሚሆንበት ጊዜ የውሂብ ግንኙነትን የሚጠቀሙ ማናቸውም መተግበሪያዎች ጥቅም ላይ ሊውሉ አይችሉም። አሁን መውጣት ይፈልጋሉ?</item>
-    </plurals>
-    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="1152682528741457004">
-      <item quantity="one">የተመረጠው እርምጃ በአደጋ ጥሪ መልሶ መደወያ ሁነታ ላይ ባለበት ጊዜ ሊገኝ አይችልም። ስልኩ በድንገተኛ ጥሪ መልሶ መደወያ ሁነታ ለ <xliff:g id="COUNT_1">%s</xliff:g> ደቂቃዎች ይቆያል። አሁን መውጣት ይፈልጋሉ?</item>
-      <item quantity="other">የተመረጠው እርምጃ በአደጋ ጥሪ መልሶ መደወያ ሁነታ ላይ ባለበት ጊዜ ሊገኝ አይችልም። ስልኩ በድንገተኛ ጥሪ መልሶ መደወያ ሁነታ ለ<xliff:g id="COUNT_1">%s</xliff:g> ደቂቃዎች ይቆያል። አሁን መውጣት ይፈልጋሉ?</item>
-    </plurals>
+    <!-- format error in translation for alert_dialog_exit_ecm (7661603870224398025) -->
+    <!-- format error in translation for alert_dialog_not_avaialble_in_ecm (8717711120099503279) -->
     <string name="alert_dialog_in_ecm_call" msgid="1207545603149771978">"የተመረጠው እርምጃ በአደጋ ጥሪ ጊዜ ለክንውን ሊገኝ አይችልም።"</string>
     <string name="progress_dialog_exiting_ecm" msgid="9159080081676927217">"የአደጋ ጊዜ ተዘዋዋሪ ጥሪ ሁኔታ ወጥቷል"</string>
     <string name="alert_dialog_yes" msgid="3532525979632841417">"አዎ"</string>
@@ -652,10 +646,7 @@
     <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">
-      <item quantity="one">ስልኩ ለ<xliff:g id="COUNT_1">%s</xliff:g> ደቂቃዎች የአደጋ ጊዜ ተዘዋዋሪ ጥሪ ሁነታ ውስጥ ይሆናል።\nአሁን መውጣት ይፈልጋሉ?</item>
-      <item quantity="other">ስልኩ ለ<xliff:g id="COUNT_1">%s</xliff:g> ደቂቃዎች የአደጋ ጊዜ ተዘዋዋሪ ጥሪ ሁነታ ውስጥ ይሆናል።\nአሁን መውጣት ይፈልጋሉ?</item>
-    </plurals>
+    <!-- format error in translation for alert_dialog_exit_ecm_without_data_restriction_hint (7549850847524907932) -->
     <string name="voicemail_provider" msgid="4158806657253745294">"አገልግሎት"</string>
     <string name="voicemail_settings" msgid="4451045613238972776">"አዋቅር"</string>
     <string name="voicemail_number_not_set" msgid="8831561283386938155">"&lt;አልተዘጋጀም &gt;"</string>
@@ -683,7 +674,6 @@
     <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="callFailed_cdma_activation" msgid="5392057031552253550">"አንድ ሲም ካርድ አገልግሎትዎን ገቢር አድርጎታል፣ እንዲሁም የስልክዎን የማስተላለፍ ችሎታዎችን አዘምኗል።"</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"እጅግ በጣም ብዙ ንቁ ጥሪዎች አሉ። እባክዎ አዲስ ከማስቀመጥዎ በፊት ያሉትን ጥሪዎች ይጨርሱ ወይም ያዋህዱ።"</string>
@@ -815,8 +805,8 @@
     <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>
-    <string name="supp_service_additional_ect_connecting" msgid="7046240728781222753">"ግልጽ የጥሪ ማስተላለፍ በሂደት ላይ።"</string>
+    <string name="supp_service_additional_ect_connected" msgid="8525934162945220237">"ግልፅ የጥሪ ማስተላለፍ ተጠናቅቋል።"</string>
+    <string name="supp_service_additional_ect_connecting" msgid="7046240728781222753">"ግልፅ የጥሪ ማስተላለፍ በሂደት ላይ።"</string>
     <string name="supp_service_call_on_hold" msgid="2836811319594503059">"ጥሪ በይቆይ ላይ።"</string>
     <string name="supp_service_call_resumed" msgid="3786864005920743546">"ጥሪ ከቆመበት ቀጥሏል።"</string>
     <string name="supp_service_deflected_call" msgid="7565979024562921707">"ጥሪው አቅጣጫው ተቀይሯል።"</string>
@@ -827,7 +817,7 @@
     <string name="callFailed_already_dialing" msgid="7250591188960691086">"ሊላ ወጪ ጥሪ እየደወለ ስለሆነ ጥሪ ማድረግ አይቻልም።"</string>
     <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="callFailed_too_many_calls" msgid="2761754044990799580">"ጥሪ ማድረግ አይቻልም ምክንያቱም አስቀድሞ ሁለት ጥሪዎች በሂደት ላይ ናቸው። አዲስ ጥሪ ከማድረግዎ በፊት ከጥሪዎቹ አንዱን ያቋርጡ ወይም ወደ ጉባዔ ያዋህዷቸው።"</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>
@@ -845,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"ይህን ቅንብር ለመለወጥ መሣሪያዎትን ዳግም ማስጀመር ያስፈልግዎታል።"</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"ዳግም አስጀምር"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"ይቅር"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"የሚወገድን ኢሲም ነባሪ በሚል አቀናብር"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"የሞባይል ሬዲዮ ኃይል"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"የሲም አድራሻ ደብተር አሳይ"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"በቋሚነት የሚደወልባቸው ቁጥሮች"</string>
@@ -857,7 +848,7 @@
     <string name="radio_info_ims_feature_status_unavailable" msgid="8930391136839759778">"አይገኝም"</string>
     <string name="radio_info_ims_reg_status" msgid="25582845222446390">"የIMS ምዝገባ፦ <xliff:g id="STATUS">%1$s</xliff:g>\n የድምጽ ቅጂ LTE፡ <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nየድምጽ ቅጂ WiFi፡ <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nየቪድዮ ጥሪ፦ <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nUT በይነገጽ፡ <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
     <string name="radioInfo_service_in" msgid="45753418231446400">"በአገልግሎት ውስጥ"</string>
-    <string name="radioInfo_service_out" msgid="287972405416142312">"ከአገልግሎት ውጪ"</string>
+    <string name="radioInfo_service_out" msgid="287972405416142312">"ከአገልግሎት ውጭ"</string>
     <string name="radioInfo_service_emergency" msgid="4763879891415016848">"የአደጋ ጊዜ ጥሪዎች ብቻ"</string>
     <string name="radioInfo_service_off" msgid="3456583511226783064">"ሬዲዮ ጠፍቷል"</string>
     <string name="radioInfo_roaming_in" msgid="3156335577793145965">"በማዘዋወር ላይ"</string>
@@ -899,6 +890,7 @@
     <string name="radio_info_band_mode_label" msgid="23480556225515290">"የሬዲዮ ባንድ ይምረጡ"</string>
     <string name="radio_info_voice_network_type_label" msgid="2395347336419593265">"የድምፅ የአውታረ መረብ ዓይነት፡"</string>
     <string name="radio_info_data_network_type_label" msgid="8886597029237501929">"የውሂብ አውታረ መረብ ዓይነት፡"</string>
+    <string name="radio_info_override_network_type_label" msgid="4176280017221092005">"የአውታረ መረብ አይነት ሻር፦"</string>
     <string name="phone_index_label" msgid="6222406512768964268">"የስልክ መረጃ ጠቋሚ ይምረጡ"</string>
     <string name="radio_info_set_perferred_label" msgid="7408131389363136210">"ተመራጭ የአውታረ መረብ አይነት ያዋቅሩ፡"</string>
     <string name="radio_info_ping_hostname_v4" msgid="6951237885381284790">"ፒንግ ስመ ከዳም(www.google.com) IPv4፦"</string>
@@ -910,10 +902,10 @@
     <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>
-    <string name="radio_info_dcnr_restricted" msgid="2469125498066960807">"DCNR ተገድቧል፦"</string>
-    <string name="radio_info_nr_available" msgid="1321318331361249997">"NR ይገኛል፦"</string>
-    <string name="radio_info_nr_state" msgid="1337571996788535356">"NR ሁኔታ፦"</string>
+    <string name="radio_info_endc_available" msgid="2983767110681230019">"EN-DC ይገኛል (NSA)፦"</string>
+    <string name="radio_info_dcnr_restricted" msgid="7147511536420148173">"DCNR ተገድቧል (NSA)፦"</string>
+    <string name="radio_info_nr_available" msgid="3383388088451237182">"NR ይገኛል (NSA)፦"</string>
+    <string name="radio_info_nr_state" msgid="4158805093187555149">"NR ሁኔታ (NSA)፦"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR ድግግሞሽ፦"</string>
     <string name="band_mode_title" msgid="7988822920724576842">"የሬዲዮ ባንድ ሁነታን ያቀናጁ"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"የባንድ ዝርዝርን በመጫን ላይ…"</string>
diff --git a/res/values-ar/strings.xml b/res/values-ar/strings.xml
index 82c6736..be6a4ff 100644
--- a/res/values-ar/strings.xml
+++ b/res/values-ar/strings.xml
@@ -637,22 +637,8 @@
     <string name="phone_in_ecm_notification_title" msgid="6825016389926367946">"وضع هاتف معاودة الاتصال بالطوارئ"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="653972232922670335">"تم إيقاف اتصال البيانات"</string>
     <string name="phone_in_ecm_notification_complete_time" msgid="7341624337163082759">"لا يوجد اتصال بيانات حتى <xliff:g id="COMPLETETIME">%s</xliff:g>"</string>
-    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="5425906903766466743">
-      <item quantity="zero">سيكون الهاتف في وضع الرد على مكالمة الطوارئ لمدة <xliff:g id="COUNT_1">%s</xliff:g> من الدقائق. وأثناء هذا الوضع، لا يمكن استخدام أي تطبيقات تستخدم اتصال بيانات. هل تريد الخروج الآن؟</item>
-      <item quantity="two">سيكون الهاتف في وضع الرد على مكالمة الطوارئ لمدة دقيقتين (<xliff:g id="COUNT_1">%s</xliff:g>). وأثناء هذا الوضع، لا يمكن استخدام أي تطبيقات تستخدم اتصال بيانات. هل تريد الخروج الآن؟</item>
-      <item quantity="few">سيكون الهاتف في وضع الرد على مكالمة الطوارئ لمدة <xliff:g id="COUNT_1">%s</xliff:g> دقائق. وأثناء هذا الوضع، لا يمكن استخدام أي تطبيقات تستخدم اتصال بيانات. هل تريد الخروج الآن؟</item>
-      <item quantity="many">سيكون الهاتف في وضع الرد على مكالمة الطوارئ لمدة <xliff:g id="COUNT_1">%s</xliff:g> دقيقة. وأثناء هذا الوضع، لا يمكن استخدام أي تطبيقات تستخدم اتصال بيانات. هل تريد الخروج الآن؟</item>
-      <item quantity="other">سيكون الهاتف في وضع الرد على مكالمة الطوارئ لمدة <xliff:g id="COUNT_1">%s</xliff:g> من الدقائق. وأثناء هذا الوضع، لا يمكن استخدام أي تطبيقات تستخدم اتصال بيانات. هل تريد الخروج الآن؟</item>
-      <item quantity="one">سيكون الهاتف في وضع الرد على مكالمة الطوارئ لمدة <xliff:g id="COUNT_0">%s</xliff:g> دقيقة. وأثناء هذا الوضع، لا يمكن استخدام أي تطبيقات تستخدم اتصال بيانات. هل تريد الخروج الآن؟</item>
-    </plurals>
-    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="1152682528741457004">
-      <item quantity="zero">الإجراء المحدد ليس متاحًا أثناء تفعيل وضع الرد على مكالمة الطوارئ. وسيكون الهاتف في هذا الوضع لمدة <xliff:g id="COUNT_1">%s</xliff:g> من الدقائق. هل تريد الخروج الآن؟</item>
-      <item quantity="two">الإجراء المحدد ليس متاحًا أثناء تفعيل وضع الرد على مكالمة الطوارئ. وسيكون الهاتف في هذا الوضع لمدة دقيقتين (<xliff:g id="COUNT_1">%s</xliff:g>). هل تريد الخروج الآن؟</item>
-      <item quantity="few">الإجراء المحدد ليس متاحًا أثناء تفعيل وضع الرد على مكالمة الطوارئ. وسيكون الهاتف في هذا الوضع لمدة <xliff:g id="COUNT_1">%s</xliff:g> دقائق. هل تريد الخروج الآن؟</item>
-      <item quantity="many">الإجراء المحدد ليس متاحًا أثناء تفعيل وضع الرد على مكالمة الطوارئ. وسيكون الهاتف في هذا الوضع لمدة <xliff:g id="COUNT_1">%s</xliff:g> دقيقة. هل تريد الخروج الآن؟</item>
-      <item quantity="other">الإجراء المحدد ليس متاحًا أثناء تفعيل وضع الرد على مكالمة الطوارئ. وسيكون الهاتف في هذا الوضع لمدة <xliff:g id="COUNT_1">%s</xliff:g> من الدقائق. هل تريد الخروج الآن؟</item>
-      <item quantity="one">الإجراء المحدد ليس متاحًا أثناء تفعيل وضع الرد على مكالمة الطوارئ. وسيكون الهاتف في هذا الوضع لمدة <xliff:g id="COUNT_0">%s</xliff:g> دقيقة. هل تريد الخروج الآن؟</item>
-    </plurals>
+    <!-- format error in translation for alert_dialog_exit_ecm (7661603870224398025) -->
+    <!-- format error in translation for alert_dialog_not_avaialble_in_ecm (8717711120099503279) -->
     <string name="alert_dialog_in_ecm_call" msgid="1207545603149771978">"الإجراء المحدد ليس متاحًا أثناء إجراء اتصال بالطوارئ."</string>
     <string name="progress_dialog_exiting_ecm" msgid="9159080081676927217">"الخروج من وضع معاودة الاتصال بالطوارئ"</string>
     <string name="alert_dialog_yes" msgid="3532525979632841417">"نعم"</string>
@@ -660,14 +646,7 @@
     <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">
-      <item quantity="zero">سيكون الهاتف في وضع معاودة الاتصال بالطوارئ لمدة <xliff:g id="COUNT_1">%s</xliff:g> دقيقة.\nهل تريد الخروج الآن؟</item>
-      <item quantity="two">سيكون الهاتف في وضع معاودة الاتصال بالطوارئ لمدة دقيقتين (<xliff:g id="COUNT_1">%s</xliff:g>).\nهل تريد الخروج الآن؟</item>
-      <item quantity="few">سيكون الهاتف في وضع معاودة الاتصال بالطوارئ لمدة <xliff:g id="COUNT_1">%s</xliff:g> دقائق.\nهل تريد الخروج الآن؟</item>
-      <item quantity="many">سيكون الهاتف في وضع معاودة الاتصال بالطوارئ لمدة <xliff:g id="COUNT_1">%s</xliff:g> دقيقة.\nهل تريد الخروج الآن؟</item>
-      <item quantity="other">سيكون الهاتف في وضع معاودة الاتصال بالطوارئ لمدة <xliff:g id="COUNT_1">%s</xliff:g> دقيقة.\nهل تريد الخروج الآن؟</item>
-      <item quantity="one">سيكون الهاتف في وضع معاودة الاتصال بالطوارئ لمدة دقيقة (<xliff:g id="COUNT_0">%s</xliff:g>).\nهل تريد الخروج الآن؟</item>
-    </plurals>
+    <!-- format error in translation for alert_dialog_exit_ecm_without_data_restriction_hint (7549850847524907932) -->
     <string name="voicemail_provider" msgid="4158806657253745294">"الخدمة"</string>
     <string name="voicemail_settings" msgid="4451045613238972776">"الإعداد"</string>
     <string name="voicemail_number_not_set" msgid="8831561283386938155">"‏&lt;لم يتم الضبط&gt;"</string>
@@ -695,7 +674,6 @@
     <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="callFailed_cdma_activation" msgid="5392057031552253550">"‏نشطت شريحة SIM خدمتك وحدّثت إمكانات التجوال لهاتفك."</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"هناك الكثير من المكالمات النشطة. يرجى إنهاء أو دمج المكالمات الموجودة قبل إجراء مكالمة جديدة."</string>
@@ -839,7 +817,7 @@
     <string name="callFailed_already_dialing" msgid="7250591188960691086">"لا يمكن إجراء مكالمة لأنّ هناك مكالمة صادرة أخرى تجري بالفعل."</string>
     <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="callFailed_too_many_calls" msgid="2761754044990799580">"لا يمكن إجراء مكالمة لأنّ هناك مكالمتين جاريتين حاليًا. يمكنك إنهاء إحدى المكالمتين أو دمجهما في مكالمة جماعية قبل إجراء مكالمة جديدة."</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>، تأكّد من تفعيل بيانات الجوّال لشريحة SIM رقم <xliff:g id="SIM_NUMBER">%2$d</xliff:g>. يمكنك تغيير هذا الإعداد في إعدادات شبكة الجوّال."</string>
@@ -857,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"عليك إعادة تشغيل جهازك لتغيير هذا الإعداد."</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"إعادة التشغيل"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"إلغاء"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"‏ضبط شريحة eSIM القابلة للإزالة كشريحة تلقائية"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"طاقة اللاسلكي للجوّال"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"‏عرض دفتر عناوين SIM"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"عرض أرقام الطلب الثابت"</string>
@@ -911,6 +890,7 @@
     <string name="radio_info_band_mode_label" msgid="23480556225515290">"تحديد النطاق اللاسلكي"</string>
     <string name="radio_info_voice_network_type_label" msgid="2395347336419593265">"نوع الشبكة الصوتية:"</string>
     <string name="radio_info_data_network_type_label" msgid="8886597029237501929">"نوع شبكة البيانات:"</string>
+    <string name="radio_info_override_network_type_label" msgid="4176280017221092005">"تجاهل نوع الشبكة:"</string>
     <string name="phone_index_label" msgid="6222406512768964268">"اختيار فهرس الهاتف"</string>
     <string name="radio_info_set_perferred_label" msgid="7408131389363136210">"تحديد نوع الشبكة المفضّل:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="6951237885381284790">"‏فحص اتصال اسم المضيف (www.google.com) عبر IPv4:"</string>
@@ -922,10 +902,10 @@
     <string name="radio_info_smsc_refresh_label" msgid="8409923721451604560">"إعادة التحميل"</string>
     <string name="radio_info_toggle_dns_check_label" msgid="1394078554927787350">"تبديل فحص نظام أسماء النطاقات"</string>
     <string name="oem_radio_info_label" msgid="2914167475119997456">"المعلومات/الإعدادات المتعلّقة بالمصنّع الأصلي للجهاز"</string>
-    <string name="radio_info_endc_available" msgid="4410653375290113436">"‏EN-DC متوفر:"</string>
-    <string name="radio_info_dcnr_restricted" msgid="2469125498066960807">"‏تم حظر DCNR:"</string>
-    <string name="radio_info_nr_available" msgid="1321318331361249997">"‏NR متوفر:"</string>
-    <string name="radio_info_nr_state" msgid="1337571996788535356">"‏حالة NR:"</string>
+    <string name="radio_info_endc_available" msgid="2983767110681230019">"‏EN-DC متوفّر (في وضع NSA):"</string>
+    <string name="radio_info_dcnr_restricted" msgid="7147511536420148173">"‏تم حظر DCNR ‏(في وضع NSA):"</string>
+    <string name="radio_info_nr_available" msgid="3383388088451237182">"‏NR متوفّر (في وضع NSA):"</string>
+    <string name="radio_info_nr_state" msgid="4158805093187555149">"‏حالة NR ‏(في وضع NSA):"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"‏تردد NR:"</string>
     <string name="band_mode_title" msgid="7988822920724576842">"تحديد وضع النطاق اللاسلكي"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"جارٍ تحميل قائمة النطاقات…"</string>
diff --git a/res/values-as/strings.xml b/res/values-as/strings.xml
index 607be68..2a7f7e3 100644
--- a/res/values-as/strings.xml
+++ b/res/values-as/strings.xml
@@ -637,14 +637,8 @@
     <string name="phone_in_ecm_notification_title" msgid="6825016389926367946">"জৰুৰীকালীন কলবেক ম\'ড"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="653972232922670335">"ডেটা সংযোগ অক্ষম কৰা হ’ল"</string>
     <string name="phone_in_ecm_notification_complete_time" msgid="7341624337163082759">"<xliff:g id="COMPLETETIME">%s</xliff:g>লৈকে কোনো ডেটা সংযোগ নাথাকে"</string>
-    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="5425906903766466743">
-      <item quantity="one"><xliff:g id="COUNT_1">%s</xliff:g> মিনিটৰ বাবে ফ\'নটো জৰুৰীকালীন কলবেক ম\'ডত থাকিব। এই ম\'ডত থাকোঁতে ডেটা সংযোগ দৰকাৰ হোৱা কোনো এপ্ ব্যৱহাৰ কৰিব নোৱাৰি। আপুনি এতিয়া বাহিৰ হ\'ব খোজে নেকি?</item>
-      <item quantity="other"><xliff:g id="COUNT_1">%s</xliff:g> মিনিটৰ বাবে ফ\'নটো জৰুৰীকালীন কলবেক ম\'ডত থাকিব। এই ম\'ডত থাকোঁতে ডেটা সংযোগ দৰকাৰ হোৱা কোনো এপ্ ব্যৱহাৰ কৰিব নোৱাৰি। আপুনি এতিয়া বাহিৰ হ\'ব খোজে নেকি?</item>
-    </plurals>
-    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="1152682528741457004">
-      <item quantity="one">বাছনি কৰা কাৰ্যকলাপটো জৰুৰীকালীন কলবেক ম\'ডত উপলব্ধ নহয়। ফ\'নটো এই ম\'ডত <xliff:g id="COUNT_1">%s</xliff:g> মিনিটৰ বাবে থাকিব। আপুনি এতিয়া বাহিৰ হ\'ব খোজে নেকি?</item>
-      <item quantity="other">বাছনি কৰা কাৰ্যকলাপটো জৰুৰীকালীন কলবেক ম\'ডত উপলব্ধ নহয়। ফ\'নটো এই ম\'ডত <xliff:g id="COUNT_1">%s</xliff:g> মিনিটৰ বাবে থাকিব। আপুনি এতিয়া বাহিৰ হ\'ব খোজে নেকি?</item>
-    </plurals>
+    <!-- format error in translation for alert_dialog_exit_ecm (7661603870224398025) -->
+    <!-- format error in translation for alert_dialog_not_avaialble_in_ecm (8717711120099503279) -->
     <string name="alert_dialog_in_ecm_call" msgid="1207545603149771978">"জৰুৰীকালীন কল চলি থকাৰ সময়ত বাছনি কৰা কাৰ্যটো উপলব্ধ নহয়।"</string>
     <string name="progress_dialog_exiting_ecm" msgid="9159080081676927217">"জৰুৰীকালীন কলবেক ম\'ডৰ পৰা প্ৰস্থান কৰা হৈছে"</string>
     <string name="alert_dialog_yes" msgid="3532525979632841417">"হয়"</string>
@@ -652,10 +646,7 @@
     <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">
-      <item quantity="one">ফ’নটো <xliff:g id="COUNT_1">%s</xliff:g> মিনিটৰ বাবে জৰুৰীকালীন কলবেক ম’ডত থাকিব।\nআপুনি এতিয়া বাহিৰ হ’বলৈ বিচাৰে নেকি?</item>
-      <item quantity="other">ফ’নটো <xliff:g id="COUNT_1">%s</xliff:g> মিনিটৰ বাবে জৰুৰীকালীন কলবেক ম’ডত থাকিব।\nআপুনি এতিয়া বাহিৰ হ’বলৈ বিচাৰে নেকি?</item>
-    </plurals>
+    <!-- format error in translation for alert_dialog_exit_ecm_without_data_restriction_hint (7549850847524907932) -->
     <string name="voicemail_provider" msgid="4158806657253745294">"সেৱা"</string>
     <string name="voicemail_settings" msgid="4451045613238972776">"ছেট আপ কৰক"</string>
     <string name="voicemail_number_not_set" msgid="8831561283386938155">"&lt;ছেট কৰা হোৱা নাই&gt;"</string>
@@ -683,7 +674,6 @@
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"সাধ্য সুবিধাসমূহ"</string>
     <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"এওঁৰ পৰা ৱাই-ফাই কল আহিছে"</string>
     <string name="status_hint_label_wifi_call" msgid="942993035689809853">"ৱাই-ফাই কল"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"খুলিবলৈ পুনৰাই টিপক"</string>
     <string name="message_decode_error" msgid="1061856591500290887">"বাৰ্তাটো ডিক\'ড কৰোঁতে আসোঁৱাহৰ সৃষ্টি হৈছিল।"</string>
     <string name="callFailed_cdma_activation" msgid="5392057031552253550">"এখন ছিম কাৰ্ডে আপোনাৰ সেৱাসমূহ সক্ৰিয় কৰিছে আৰু আপোনাৰ ফ\'নটোৰ ৰ\'মিং সক্ষমতাসমূহো আপডে’ট কৰিছে।"</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"কেইবাটাও কল ইতিমধ্যে সক্ৰিয় হৈ আছে। নতুন কল এটা কৰাৰ আগেয়ে অনুগ্ৰহ কৰি সেইবোৰ একেলগ কৰক বা সমাপ্ত কৰক।"</string>
@@ -721,7 +711,7 @@
     <string name="mobile_data_activate_cancel_button" msgid="3530174817572005860">"বাতিল কৰক"</string>
     <string name="clh_card_title_call_ended_txt" msgid="5977978317527299698">"কল শেষ হ’ল"</string>
     <string name="clh_callFailed_powerOff_txt" msgid="8279934912560765361">"এয়াৰপ্লেইন ম\'ড অন হৈ আছে"</string>
-    <string name="clh_callFailed_simError_txt" msgid="5128538525762326413">"ছিম কাৰ্ডত প্ৰৱেশ কৰিব পৰা নাই"</string>
+    <string name="clh_callFailed_simError_txt" msgid="5128538525762326413">"ছিম কাৰ্ড এক্সেছ কৰিব নোৱাৰি"</string>
     <string name="clh_incall_error_out_of_service_txt" msgid="2736010617446749869">"ম’বাইল নেটৱৰ্ক উপলব্ধ নহয়"</string>
     <string name="clh_callFailed_unassigned_number_txt" msgid="141967660286695682">"আপুনি ডায়েল কৰিব খোজা ফ\'ন নম্বৰত আসোঁৱাহ আছে। আসোঁৱাহ ক\'ড ১।"</string>
     <string name="clh_callFailed_no_route_to_destination_txt" msgid="4805015149822352308">"কলটো সম্পূৰ্ণ কৰিব পৰা নগ\'ল। আসোঁৱাহ ক\'ড ৩।"</string>
@@ -827,7 +817,7 @@
     <string name="callFailed_already_dialing" msgid="7250591188960691086">"অইন এটা বহিৰ্গামী কল ডায়েল কৰি থকাৰ কাৰণে বেলেগ কল কৰিব নোৱাৰি।"</string>
     <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="callFailed_too_many_calls" msgid="2761754044990799580">"কল কৰিব নোৱাৰি, কাৰণ ইতিমধ্যে দুটা কল চলি আছে। এটা নতুন কল কৰাৰ আগতে সেই দুটা কলৰ এটাৰ সংযোগ বিচ্ছিন্ন কৰক অথবা কল দুটা একত্ৰিত কৰি এটা কনফাৰেন্স কললৈ সলনি কৰক।"</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>
@@ -845,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"আপুনি এই ছেটিংটো সলনি কৰিবলৈ আপোনাৰ ডিভাইচটো ৰিষ্টার্ট কৰিব লাগিব।"</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"ৰিষ্টাৰ্ট কৰক"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"বাতিল কৰক"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"আঁতৰাব পৰা ই-ছিম ডিফ’ল্ট হিচাপে ছেট কৰক"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"ম’বাইলৰ ৰেডিঅ’ পাৱাৰ"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"ছিম ঠিকনা সূচী চাওক"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"ফিক্সড্ ডায়েলিং নম্বৰসমূহ চাওক"</string>
@@ -899,6 +890,7 @@
     <string name="radio_info_band_mode_label" msgid="23480556225515290">"ৰেডিঅ’ বেণ্ড বাছনি কৰক"</string>
     <string name="radio_info_voice_network_type_label" msgid="2395347336419593265">"ভইচ নেটৱৰ্কৰ প্ৰকাৰ:"</string>
     <string name="radio_info_data_network_type_label" msgid="8886597029237501929">"ডেটা নেটৱৰ্কৰ প্ৰকাৰ:"</string>
+    <string name="radio_info_override_network_type_label" msgid="4176280017221092005">"নেটৱৰ্ক প্ৰকাৰ অ’ভাৰৰাইড কৰক:"</string>
     <string name="phone_index_label" msgid="6222406512768964268">"ফ’নৰ ইনডেক্স বাছনি কৰক"</string>
     <string name="radio_info_set_perferred_label" msgid="7408131389363136210">"পচন্দৰ নেটৱৰ্কৰ প্ৰকাৰ ছেট কৰক:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="6951237885381284790">"হ\'ষ্টনাম(www.google.com) IPv4 পিং কৰক:"</string>
@@ -910,10 +902,10 @@
     <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>
-    <string name="radio_info_dcnr_restricted" msgid="2469125498066960807">"DCNR প্ৰতিবন্ধিত:"</string>
-    <string name="radio_info_nr_available" msgid="1321318331361249997">"NR উপলব্ধ:"</string>
-    <string name="radio_info_nr_state" msgid="1337571996788535356">"NR স্থিতি:"</string>
+    <string name="radio_info_endc_available" msgid="2983767110681230019">"EN-DC উপলব্ধ (NSA):"</string>
+    <string name="radio_info_dcnr_restricted" msgid="7147511536420148173">"DCNR সীমিত (NSA):"</string>
+    <string name="radio_info_nr_available" msgid="3383388088451237182">"NR উপলব্ধ (NSA):"</string>
+    <string name="radio_info_nr_state" msgid="4158805093187555149">"NR স্থিতি (NSA):"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR ফ্ৰিকুৱেন্সী:"</string>
     <string name="band_mode_title" msgid="7988822920724576842">"ৰেডিঅ’ৰ বেণ্ড ম’ড ছেট কৰক"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"বেণ্ড সূচীখন ল’ড কৰি থকা হৈছে…"</string>
diff --git a/res/values-az/strings.xml b/res/values-az/strings.xml
index 5ec4dc5..9afe3e3 100644
--- a/res/values-az/strings.xml
+++ b/res/values-az/strings.xml
@@ -637,14 +637,8 @@
     <string name="phone_in_ecm_notification_title" msgid="6825016389926367946">"Təcisi Geriyə Zəng Rejimi"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="653972232922670335">"Data bağlantısı deaktiv edildi"</string>
     <string name="phone_in_ecm_notification_complete_time" msgid="7341624337163082759">"<xliff:g id="COMPLETETIME">%s</xliff:g> vaxtına qədər data bağlantısı yoxdur"</string>
-    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="5425906903766466743">
-      <item quantity="other">Telefon <xliff:g id="COUNT_1">%s</xliff:g> dəqiqə Fövqəladə Cavab Zəngi rejimində olacaq. Bu rejimdə olarkən məlumat bağlantısından istifadə edən heç bir proqram istifadə edilə bilməz. İndi çıxmaq istəyirsiniz?</item>
-      <item quantity="one">Telefon <xliff:g id="COUNT_0">%s</xliff:g> dəqiqə Fövqəladə Cavab Zəngi rejimində olacaq. Bu rejimdə olarkən məlumat bağlantısından istifadə edən heç bir proqram istifadə edilə bilməz. İndi çıxmaq istəyirsiniz?</item>
-    </plurals>
-    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="1152682528741457004">
-      <item quantity="other">Seçilmiş fəaliyyət Fövqəladə Cavab Zəngi rejimində mövcud deyil. Telefon <xliff:g id="COUNT_1">%s</xliff:g> dəqiqə bu rejimdə olacaq. İndi çıxmaq istəyirsiniz?</item>
-      <item quantity="one">Seçilmiş fəaliyyət Fövqəladə Cavab Zəngi rejimində mövcud deyil. Telefon <xliff:g id="COUNT_0">%s</xliff:g> dəqiqə bu rejimdə olacaq. İndi çıxmaq istəyirsiniz?</item>
-    </plurals>
+    <string name="alert_dialog_exit_ecm" msgid="7661603870224398025">"{count,plural, =1{Telefon bir dəqiqəlik Fövqəladə Geriyə Zəng rejimində olacaq. Bu rejimdə data bağlantısı işlədən heç bir tətbiq istifadə oluna bilməz. İndi çıxmaq istəyirsiniz?}other{Telefon %s dəqiqə Fövqəladə Geriyə Zəng rejimində olacaq. Bu rejimdə data bağlantısı işlədən heç bir tətbiq istifadə oluna bilməz. İndi çıxmaq istəyirsiniz?}}"</string>
+    <string name="alert_dialog_not_avaialble_in_ecm" msgid="8717711120099503279">"{count,plural, =1{Seçilmiş əməliyyat Fövqəladə Geriyə Zəng rejimində əlçatan deyil. Telefon 1 dəqiqə bu rejimdə olacaq. İndi çıxmaq istəyirsiniz?}other{Seçilmiş əməliyyat Fövqəladə Geriyə Zəng rejimində əlçatan deyil. Telefon %s dəqiqə bu rejimdə olacaq. İndi çıxmaq istəyirsiniz?}}"</string>
     <string name="alert_dialog_in_ecm_call" msgid="1207545603149771978">"Seçilmiş fəaliyyət təcili zəng zamanı mümkün deyil"</string>
     <string name="progress_dialog_exiting_ecm" msgid="9159080081676927217">"Təcili Geriyə Zəng Rejimindən Çıxır"</string>
     <string name="alert_dialog_yes" msgid="3532525979632841417">"Bəli"</string>
@@ -652,10 +646,7 @@
     <string name="alert_dialog_dismiss" msgid="1336356286354517054">"Kənarlaşdır"</string>
     <string name="phone_in_ecm_call_notification_text_without_data_restriction_hint" msgid="3747860785153531225">"Telefon fövqəladə geriyə zəng rejimindədir"</string>
     <string name="phone_in_ecm_notification_complete_time_without_data_restriction_hint" msgid="3690292264812050858">"<xliff:g id="COMPLETETIME">%s</xliff:g> olana qədər"</string>
-    <plurals name="alert_dialog_exit_ecm_without_data_restriction_hint" formatted="false" msgid="6477733043040328640">
-      <item quantity="other">Telefon <xliff:g id="COUNT_1">%s</xliff:g> dəqiqəlik fövqəladə geri zəng rejimində olacaq.\nİndi çıxmaq istəyirsiniz?</item>
-      <item quantity="one">Telefon <xliff:g id="COUNT_0">%s</xliff:g> dəqiqəlik fövqəladə geri zəng rejimində olacaq.\nİndi çıxmaq istəyirsiniz?</item>
-    </plurals>
+    <string name="alert_dialog_exit_ecm_without_data_restriction_hint" msgid="7549850847524907932">"{count,plural, =1{Telefon \n dəqiqə fövqəladə geriyə zəng rejimində olacaq. İndi çıxmaq istəyirsiniz?}other{Telefon %s dəqiqə fövqəladə geriyə zəng rejimində olacaq.\nİndi çıxmaq istəyirsiniz?}}"</string>
     <string name="voicemail_provider" msgid="4158806657253745294">"Xidmət"</string>
     <string name="voicemail_settings" msgid="4451045613238972776">"Quraşdırma"</string>
     <string name="voicemail_number_not_set" msgid="8831561283386938155">"&lt;Ayarlanmayıb&gt;"</string>
@@ -683,7 +674,6 @@
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"Keçərlik"</string>
     <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"Wi-Fi zəngi"</string>
     <string name="status_hint_label_wifi_call" msgid="942993035689809853">"Wi-Fi zəng"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"Açmaq üçün yenidən tıklayın"</string>
     <string name="message_decode_error" msgid="1061856591500290887">"Mesaj dekod edilən zaman xəta oldu."</string>
     <string name="callFailed_cdma_activation" msgid="5392057031552253550">"SIM kart xidmətinizi aktivləşdirdi və telefonunuzun rominq imkanlarını güncəlləşdi."</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"Burada həddindən çox aktiv zəng var. Yeni birini yerləşdirmək üçün mövcud zəngləri sonlandırın və ya birləşdirin."</string>
@@ -827,7 +817,7 @@
     <string name="callFailed_already_dialing" msgid="7250591188960691086">"Başqa gedən zəngin nömrəsi yığıldığına görə zəng etmək mümkün deyil."</string>
     <string name="callFailed_already_ringing" msgid="2376603543544289303">"Cavabsız gələn zəng olduğuna görə zəng etmək mümkün deyil. Yeni zəng etməzdən əvvəl gələn zəngə cavab verin və ya imtina edin."</string>
     <string name="callFailed_calling_disabled" msgid="5010992739401206283">"Zəng ro.telephony.disable-call sistem funksiyası ilə deaktiv edildiyinə görə zəng etmək mümkün deyil."</string>
-    <string name="callFailed_too_many_calls" msgid="5379426826618582180">"Davam edən iki zəng olduğuna görə zəng etmək mümkün deyil. Zənglərin birini kəsin və ya yeni zəng etməzdən əvvəl onları konfransa birləşdirin."</string>
+    <string name="callFailed_too_many_calls" msgid="2761754044990799580">"Davam edən iki zəng olduğuna görə zəng etmək mümkün deyil. Yeni zəng etməzdən əvvəl zənglərin birini dayandırın və ya onları konfransa birləşdirin."</string>
     <string name="supp_service_over_ut_precautions" msgid="2145018231396701311">"<xliff:g id="SUPP_SERVICE">%s</xliff:g> istifadə etmək üçün mobil datanın aktiv olduğundan əmin olun. Bunu mobil şəbəkə ayarlarında dəyişə bilərsiniz."</string>
     <string name="supp_service_over_ut_precautions_roaming" msgid="670342104569972327">"<xliff:g id="SUPP_SERVICE">%s</xliff:g> istifadə etmək üçün mobil data və data rouminqin aktiv olduğundan əmin olun. Bunu mobil şəbəkə ayarlarında dəyişə bilərsiniz."</string>
     <string name="supp_service_over_ut_precautions_dual_sim" msgid="5166866975550910474">"<xliff:g id="SUPP_SERVICE">%1$s</xliff:g> istifadə etmək üçün <xliff:g id="SIM_NUMBER">%2$d</xliff:g> SIM nömrəsində mobil datanın aktiv olduğundan əmin olun. Bunu mobil şəbəkə ayarlarında dəyişə bilərsiniz."</string>
@@ -845,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"Bu ayarı dəyişmək üçün cihazı yenidən başlatmalısınız."</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"Yenidən başladın"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"Ləğv edin"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"Çıxarıla bilən eSIM\'i Defolt olaraq təyin edin"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"Mobil Radio Enerjisi"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"SIM Ünvan Kitabçasına Baxın"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"Sabit Yığım Nömrələrinə Baxın"</string>
@@ -899,6 +890,7 @@
     <string name="radio_info_band_mode_label" msgid="23480556225515290">"Radio Diapazon Seçin"</string>
     <string name="radio_info_voice_network_type_label" msgid="2395347336419593265">"Səs Şəbəkə Növü:"</string>
     <string name="radio_info_data_network_type_label" msgid="8886597029237501929">"Data Şəbəkə Növü:"</string>
+    <string name="radio_info_override_network_type_label" msgid="4176280017221092005">"Şəbəkə Növünü Əvəzləyin:"</string>
     <string name="phone_index_label" msgid="6222406512768964268">"Telefon indeksini seçin"</string>
     <string name="radio_info_set_perferred_label" msgid="7408131389363136210">"Tərcih Olunmuş Şəbəkə Növü Seçin:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="6951237885381284790">"Ping Hostname(www.google.com) IPv4:"</string>
@@ -910,10 +902,10 @@
     <string name="radio_info_smsc_refresh_label" msgid="8409923721451604560">"Yeniləyin"</string>
     <string name="radio_info_toggle_dns_check_label" msgid="1394078554927787350">"DNS Yoxlanışına keçin"</string>
     <string name="oem_radio_info_label" msgid="2914167475119997456">"Orijinal Avadanlıq İstehsalçısının Məlumatı/Ayarlar"</string>
-    <string name="radio_info_endc_available" msgid="4410653375290113436">"EN-DC Əlçatandır:"</string>
-    <string name="radio_info_dcnr_restricted" msgid="2469125498066960807">"DCNR Məhdudlaşdırılıb:"</string>
-    <string name="radio_info_nr_available" msgid="1321318331361249997">"NR Əlçatandır:"</string>
-    <string name="radio_info_nr_state" msgid="1337571996788535356">"NR Statusu:"</string>
+    <string name="radio_info_endc_available" msgid="2983767110681230019">"EN-DC Əlçatandır (NSA):"</string>
+    <string name="radio_info_dcnr_restricted" msgid="7147511536420148173">"DCNR Məhdudlaşdırıldı (NSA):"</string>
+    <string name="radio_info_nr_available" msgid="3383388088451237182">"NR Əlçatandır (NSA):"</string>
+    <string name="radio_info_nr_state" msgid="4158805093187555149">"NR Statusu (NSA):"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR Tezliyi:"</string>
     <string name="band_mode_title" msgid="7988822920724576842">"Radio Diapazon Rejimini Quraşdırın"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"Diapazon Siyahısı Yüklənir…"</string>
diff --git a/res/values-b+sr+Latn/strings.xml b/res/values-b+sr+Latn/strings.xml
index 8f01c35..c9e8f4c 100644
--- a/res/values-b+sr+Latn/strings.xml
+++ b/res/values-b+sr+Latn/strings.xml
@@ -637,16 +637,8 @@
     <string name="phone_in_ecm_notification_title" msgid="6825016389926367946">"Režim za hitan povratni poziv"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="653972232922670335">"Veza za prenos podataka je onemogućena"</string>
     <string name="phone_in_ecm_notification_complete_time" msgid="7341624337163082759">"Veza za prenos podataka neće biti dostupna do <xliff:g id="COMPLETETIME">%s</xliff:g>"</string>
-    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="5425906903766466743">
-      <item quantity="one">Telefon će biti u Režimu hitnog povratnog poziva <xliff:g id="COUNT_1">%s</xliff:g> minut. Dok je u ovom režimu ne možete da koristite aplikacije koje koriste vezu za prenos podataka. Želite li odmah da izađete iz ovog režima?</item>
-      <item quantity="few">Telefon će biti u Režimu hitnog povratnog poziva <xliff:g id="COUNT_1">%s</xliff:g> minuta. Dok je u ovom režimu ne možete da koristite aplikacije koje koriste vezu za prenos podataka. Želite li odmah da izađete iz ovog režima?</item>
-      <item quantity="other">Telefon će biti u Režimu hitnog povratnog poziva <xliff:g id="COUNT_1">%s</xliff:g> minuta. Dok je u ovom režimu ne možete da koristite aplikacije koje koriste vezu za prenos podataka. Želite li odmah da izađete iz ovog režima?</item>
-    </plurals>
-    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="1152682528741457004">
-      <item quantity="one">Izabrana radnja nije dostupna dok ste u Režimu hitnog povratnog poziva. Telefon će biti u ovom režimu <xliff:g id="COUNT_1">%s</xliff:g> minut. Želite li odmah da izađete iz ovog režima?</item>
-      <item quantity="few">Izabrana radnja nije dostupna dok ste u Režimu hitnog povratnog poziva. Telefon će biti u ovom režimu <xliff:g id="COUNT_1">%s</xliff:g> minuta. Želite li odmah da izađete iz ovog režima?</item>
-      <item quantity="other">Izabrana radnja nije dostupna dok ste u Režimu hitnog povratnog poziva. Telefon će biti u ovom režimu <xliff:g id="COUNT_1">%s</xliff:g> minuta. Želite li odmah da izađete iz ovog režima?</item>
-    </plurals>
+    <!-- format error in translation for alert_dialog_exit_ecm (7661603870224398025) -->
+    <!-- format error in translation for alert_dialog_not_avaialble_in_ecm (8717711120099503279) -->
     <string name="alert_dialog_in_ecm_call" msgid="1207545603149771978">"Izabrana radnja nije dostupna kada je u toku hitan poziv"</string>
     <string name="progress_dialog_exiting_ecm" msgid="9159080081676927217">"Izlazak iz Režima hitnog povratnog poziva"</string>
     <string name="alert_dialog_yes" msgid="3532525979632841417">"Da"</string>
@@ -654,11 +646,7 @@
     <string name="alert_dialog_dismiss" msgid="1336356286354517054">"Odbaci"</string>
     <string name="phone_in_ecm_call_notification_text_without_data_restriction_hint" msgid="3747860785153531225">"Telefon je u režimu za hitan povratni poziv"</string>
     <string name="phone_in_ecm_notification_complete_time_without_data_restriction_hint" msgid="3690292264812050858">"Do <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">Telefon će <xliff:g id="COUNT_1">%s</xliff:g> minut biti u režimu za hitan povratni poziv.\nŽelite sad da izađete iz njega?</item>
-      <item quantity="few">Telefon će <xliff:g id="COUNT_1">%s</xliff:g> minuta biti u režimu za hitan povratni poziv.\nŽelite sad da izađete iz njega?</item>
-      <item quantity="other">Telefon će <xliff:g id="COUNT_1">%s</xliff:g> minuta biti u režimu za hitan povratni poziv.\nŽelite sad da izađete iz njega?</item>
-    </plurals>
+    <!-- format error in translation for alert_dialog_exit_ecm_without_data_restriction_hint (7549850847524907932) -->
     <string name="voicemail_provider" msgid="4158806657253745294">"Usluga"</string>
     <string name="voicemail_settings" msgid="4451045613238972776">"Podešavanje"</string>
     <string name="voicemail_number_not_set" msgid="8831561283386938155">"&lt;Nije podešeno&gt;"</string>
@@ -686,7 +674,6 @@
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"Pristupačnost"</string>
     <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"WiFi poziv od"</string>
     <string name="status_hint_label_wifi_call" msgid="942993035689809853">"WiFi poziv"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"Dodirnite ponovo da biste otvorili"</string>
     <string name="message_decode_error" msgid="1061856591500290887">"Došlo je do greške pri dekodiranju poruke."</string>
     <string name="callFailed_cdma_activation" msgid="5392057031552253550">"SIM kartica je aktivirala uslugu i ažurirala funkcije rominga na telefonu."</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"Ima previše aktivnih poziva. Završite ili objedinite postojeće pozive pre nego što uputite novi."</string>
@@ -830,7 +817,7 @@
     <string name="callFailed_already_dialing" msgid="7250591188960691086">"Ne možete da pozovete jer se već upućuje drugi odlazni poziv."</string>
     <string name="callFailed_already_ringing" msgid="2376603543544289303">"Ne možete da pozovete jer imate dolazni poziv na koji niste odgovorili. Odgovorite na dolazni poziv ili ga odbijte pre upućivanja novog poziva."</string>
     <string name="callFailed_calling_disabled" msgid="5010992739401206283">"Ne možete da pozovete jer je pozivanje onemogućeno preko svojstva sistema ro.telephony.disable-call."</string>
-    <string name="callFailed_too_many_calls" msgid="5379426826618582180">"Ne možete da pozovete jer su dva poziva već u toku. Prekinite jedan od poziva ili ih objedinite u konferenciju da biste uputili novi poziv."</string>
+    <string name="callFailed_too_many_calls" msgid="2761754044990799580">"Ne možete da pozovete jer su dva poziva već u toku. Prekinite jedan od njih ili ih objedinite u konferenciju da biste uputili novi poziv."</string>
     <string name="supp_service_over_ut_precautions" msgid="2145018231396701311">"Da biste koristili <xliff:g id="SUPP_SERVICE">%s</xliff:g>, uverite se da su uključeni mobilni podaci. To možete da promenite u podešavanjima mobilne mreže."</string>
     <string name="supp_service_over_ut_precautions_roaming" msgid="670342104569972327">"Da biste koristili <xliff:g id="SUPP_SERVICE">%s</xliff:g>, uverite se da su uključeni mobilni podaci i prenos podataka u romingu. To možete da promenite u podešavanjima mobilne mreže."</string>
     <string name="supp_service_over_ut_precautions_dual_sim" msgid="5166866975550910474">"Da biste koristili <xliff:g id="SUPP_SERVICE">%1$s</xliff:g>, uverite se da su za SIM <xliff:g id="SIM_NUMBER">%2$d</xliff:g> uključeni mobilni podaci. To možete da promenite u podešavanjima mobilne mreže."</string>
@@ -848,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"Treba da restartujte uređaj da biste promenili ovo podešavanje."</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"Restartuj"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"Otkaži"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"Podesi prenosivi eSIM kao podrazumevani"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"Napajanje za radio na mobilnim uređajima"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"Prikaži adresar SIM-a"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"Prikaži brojeve za fiksno biranje"</string>
@@ -902,6 +890,7 @@
     <string name="radio_info_band_mode_label" msgid="23480556225515290">"Izaberite radijski opseg"</string>
     <string name="radio_info_voice_network_type_label" msgid="2395347336419593265">"Tip glasovne mreže:"</string>
     <string name="radio_info_data_network_type_label" msgid="8886597029237501929">"Tip mreže za prenos podataka:"</string>
+    <string name="radio_info_override_network_type_label" msgid="4176280017221092005">"Zameni tip mreže:"</string>
     <string name="phone_index_label" msgid="6222406512768964268">"Izaberite indeks telefona"</string>
     <string name="radio_info_set_perferred_label" msgid="7408131389363136210">"Podesite željeni tip mreže:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="6951237885381284790">"IPv4 imena hosta za pingovanje (www.google.com):"</string>
@@ -913,10 +902,10 @@
     <string name="radio_info_smsc_refresh_label" msgid="8409923721451604560">"Osveži"</string>
     <string name="radio_info_toggle_dns_check_label" msgid="1394078554927787350">"Uključi/isključi proveru DNS-a"</string>
     <string name="oem_radio_info_label" msgid="2914167475119997456">"Informacije/podešavanja specifična za proizvođača originalne opreme"</string>
-    <string name="radio_info_endc_available" msgid="4410653375290113436">"EN-DC dostupno:"</string>
-    <string name="radio_info_dcnr_restricted" msgid="2469125498066960807">"DCNR ograničeno:"</string>
-    <string name="radio_info_nr_available" msgid="1321318331361249997">"NR dostupno:"</string>
-    <string name="radio_info_nr_state" msgid="1337571996788535356">"NR stanje:"</string>
+    <string name="radio_info_endc_available" msgid="2983767110681230019">"EN-DC dostupno (NSA):"</string>
+    <string name="radio_info_dcnr_restricted" msgid="7147511536420148173">"DCNR ograničeno (NSA):"</string>
+    <string name="radio_info_nr_available" msgid="3383388088451237182">"NR dostupno (NSA):"</string>
+    <string name="radio_info_nr_state" msgid="4158805093187555149">"NR stanje (NSA):"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR učestalost:"</string>
     <string name="band_mode_title" msgid="7988822920724576842">"Podesite režim radijskog opsega"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"Učitava se lista opsega…"</string>
diff --git a/res/values-be/strings.xml b/res/values-be/strings.xml
index 6674bee..3d25a4d 100644
--- a/res/values-be/strings.xml
+++ b/res/values-be/strings.xml
@@ -20,7 +20,7 @@
     <string name="phoneAppLabel" product="default" msgid="130465039375347763">"Тэлефонныя службы"</string>
     <string name="emergencyDialerIconLabel" msgid="8668005772339436680">"Экстраныя выклікі"</string>
     <string name="phoneIconLabel" msgid="3015941229249651419">"Тэлефон"</string>
-    <string name="fdnListLabel" msgid="4119121875004244097">"Спіс FDN"</string>
+    <string name="fdnListLabel" msgid="4119121875004244097">"Спіс дазволеных нумароў"</string>
     <string name="unknown" msgid="8279698889921830815">"Невядомы"</string>
     <string name="private_num" msgid="4487990167889159992">"Прыватны нумар"</string>
     <string name="payphone" msgid="7936735771836716941">"Таксафон"</string>
@@ -438,18 +438,18 @@
     <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>
-    <string name="fdn_list_with_label" msgid="1409655283510382556">"Спіс закрытай абаненцкай групы (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
-    <string name="fdn_activation" msgid="2178637004710435895">"Актывацыя FDN"</string>
+    <string name="manage_fdn_list" msgid="3341716430375195441">"Спіс дазволеных нумароў"</string>
+    <string name="fdn_list_with_label" msgid="1409655283510382556">"Спіс дазволеных нумароў (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
+    <string name="fdn_activation" msgid="2178637004710435895">"Актывацыя дазволеных нумароў"</string>
     <string name="fdn_enabled" msgid="7017355494808056447">"Фіксаваныя нумары ўключаны"</string>
     <string name="fdn_disabled" msgid="6696468878037736600">"Фіксаваныя нумары адключаны"</string>
-    <string name="enable_fdn" msgid="4830555730418033723">"Уключыць FDN"</string>
-    <string name="disable_fdn" msgid="3918794950264647541">"Адключыць FDN"</string>
+    <string name="enable_fdn" msgid="4830555730418033723">"Уключыць дазволеныя нумары"</string>
+    <string name="disable_fdn" msgid="3918794950264647541">"Адключыць дазволеныя нумары"</string>
     <string name="change_pin2" msgid="3110844547237754871">"Змяніць PIN2"</string>
-    <string name="enable_fdn_ok" msgid="5080925177369329827">"Адключыць FDN"</string>
-    <string name="disable_fdn_ok" msgid="3745475926874838676">"Уключыць FDN"</string>
+    <string name="enable_fdn_ok" msgid="5080925177369329827">"Адключыць дазволеныя нумары"</string>
+    <string name="disable_fdn_ok" msgid="3745475926874838676">"Уключыць дазволеныя нумары"</string>
     <string name="sum_fdn" msgid="6152246141642323582">"Кіраванне зафіксаванымі нумарамі"</string>
-    <string name="sum_fdn_change_pin" msgid="3510994280557335727">"Змяніць PIN-код для доступу FDN"</string>
+    <string name="sum_fdn_change_pin" msgid="3510994280557335727">"Змяніць PIN-код для доступу да дазволеных нумароў"</string>
     <string name="sum_fdn_manage_list" msgid="3311397063233992907">"Кіраванне спісам тэлефонных нумароў"</string>
     <string name="voice_privacy" msgid="7346935172372181951">"Палiтыка прыватнасцi Voice"</string>
     <string name="voice_privacy_summary" msgid="3556460926168473346">"Уключыць пашыраны рэжым прыватнасці"</string>
@@ -475,10 +475,10 @@
     <string name="delete_fdn_contact" msgid="7027405651994507077">"Выдаліць дазволены нумар"</string>
     <string name="deleting_fdn_contact" msgid="6872320570844460428">"Выдаленне дазволенага нумару..."</string>
     <string name="fdn_contact_deleted" msgid="1680714996763848838">"Дазволены нумар выдалены."</string>
-    <string name="pin2_invalid" msgid="2313954262684494442">"FDN не быў абноўлены, таму што вы набралі няправільны PIN-код."</string>
-    <string name="fdn_invalid_number" msgid="9067189814657840439">"Фіксаваны нумар не абноўлены, бо не можа складацца больш чым з <xliff:g id="FDN_NUMBER_LIMIT_LENGTH">%d</xliff:g> лічбаў."</string>
+    <string name="pin2_invalid" msgid="2313954262684494442">"Дазволены нумар не быў абноўлены, таму што вы набралі няправільны PIN-код."</string>
+    <string name="fdn_invalid_number" msgid="9067189814657840439">"Дазволены нумар не абноўлены, бо не можа складацца больш чым з <xliff:g id="FDN_NUMBER_LIMIT_LENGTH">%d</xliff:g> лічбаў."</string>
     <string name="pin2_or_fdn_invalid" msgid="7542639487955868181">"Cпiс дазволеных нумароў не адноўлены. PIN2 ўведзены няправiльна, або нумар быў адхiлены."</string>
-    <string name="fdn_failed" msgid="216592346853420250">"Аперацыя ў закрытай абаненцкай групе не ўдалася."</string>
+    <string name="fdn_failed" msgid="216592346853420250">"Аперацыя з дазволеным нумарам не ўдалася."</string>
     <string name="simContacts_emptyLoading" msgid="4989040293858675483">"Чытанне з SIM-карты..."</string>
     <string name="simContacts_empty" msgid="1135632055473689521">"На вашай SIM-карце няма кантактаў."</string>
     <string name="simContacts_title" msgid="2714029230160136647">"Выберыце кантакты для імпарту"</string>
@@ -637,18 +637,8 @@
     <string name="phone_in_ecm_notification_title" msgid="6825016389926367946">"Рэжым экстранных зваротных выклікаў"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="653972232922670335">"Падлучэнне для перадачы дадзеных адключана"</string>
     <string name="phone_in_ecm_notification_complete_time" msgid="7341624337163082759">"Няма злучэння для перадачы даных да <xliff:g id="COMPLETETIME">%s</xliff:g>"</string>
-    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="5425906903766466743">
-      <item quantity="one">Тэлефон будзе заставацца ў рэжыме экстранных зваротных выклікаў <xliff:g id="COUNT_1">%s</xliff:g> хвіліну. У гэтым рэжыме недаступныя праграмы, якія выкарыстоўваюць перадачу даных. Выйсці зараз?</item>
-      <item quantity="few">Тэлефон будзе заставацца ў рэжыме экстранных зваротных выклікаў <xliff:g id="COUNT_1">%s</xliff:g> хвіліны. У гэтым рэжыме недаступныя праграмы, якія выкарыстоўваюць перадачу даных. Выйсці зараз?</item>
-      <item quantity="many">Тэлефон будзе заставацца ў рэжыме экстранных зваротных выклікаў <xliff:g id="COUNT_1">%s</xliff:g> хвілін. У гэтым рэжыме недаступныя праграмы, якія выкарыстоўваюць перадачу даных. Выйсці зараз?</item>
-      <item quantity="other">Тэлефон будзе заставацца ў рэжыме экстранных зваротных выклікаў <xliff:g id="COUNT_1">%s</xliff:g> хвіліны. У гэтым рэжыме недаступныя праграмы, якія выкарыстоўваюць перадачу даных. Выйсці зараз?</item>
-    </plurals>
-    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="1152682528741457004">
-      <item quantity="one">Выбранае дзеянне недаступнае ў рэжыме экстранных зваротных выклікаў. Тэлефон будзе заставацца ў гэтым рэжыме <xliff:g id="COUNT_1">%s</xliff:g> хвіліну. Выйсці зараз?</item>
-      <item quantity="few">Выбранае дзеянне недаступнае ў рэжыме экстранных зваротных выклікаў. Тэлефон будзе заставацца ў гэтым рэжыме <xliff:g id="COUNT_1">%s</xliff:g> хвіліны. Выйсці зараз?</item>
-      <item quantity="many">Выбранае дзеянне недаступнае ў рэжыме экстранных зваротных выклікаў. Тэлефон будзе заставацца ў гэтым рэжыме <xliff:g id="COUNT_1">%s</xliff:g> хвілін. Выйсці зараз?</item>
-      <item quantity="other">Выбранае дзеянне недаступнае ў рэжыме экстранных зваротных выклікаў. Тэлефон будзе заставацца ў гэтым рэжыме <xliff:g id="COUNT_1">%s</xliff:g> хвіліны. Выйсці зараз?</item>
-    </plurals>
+    <!-- format error in translation for alert_dialog_exit_ecm (7661603870224398025) -->
+    <!-- format error in translation for alert_dialog_not_avaialble_in_ecm (8717711120099503279) -->
     <string name="alert_dialog_in_ecm_call" msgid="1207545603149771978">"Выбранае дзеянне недаступнае падчас экстранага выкліку."</string>
     <string name="progress_dialog_exiting_ecm" msgid="9159080081676927217">"Выконваецца выхад з рэжыму экстранных зваротных выклікаў"</string>
     <string name="alert_dialog_yes" msgid="3532525979632841417">"Так"</string>
@@ -656,12 +646,7 @@
     <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">
-      <item quantity="one">Тэлефон будзе заставацца ў рэжыме экстранных зваротных выклікаў <xliff:g id="COUNT_1">%s</xliff:g> хвіліну.\nВыйсці зараз?</item>
-      <item quantity="few">Тэлефон будзе заставацца ў рэжыме экстранных зваротных выклікаў <xliff:g id="COUNT_1">%s</xliff:g> хвіліны.\nВыйсці зараз?</item>
-      <item quantity="many">Тэлефон будзе заставацца ў рэжыме экстранных зваротных выклікаў <xliff:g id="COUNT_1">%s</xliff:g> хвілін.\nВыйсці зараз?</item>
-      <item quantity="other">Тэлефон будзе заставацца ў рэжыме экстранных зваротных выклікаў <xliff:g id="COUNT_1">%s</xliff:g> хвіліны.\nВыйсці зараз?</item>
-    </plurals>
+    <!-- format error in translation for alert_dialog_exit_ecm_without_data_restriction_hint (7549850847524907932) -->
     <string name="voicemail_provider" msgid="4158806657253745294">"Сэрвіс"</string>
     <string name="voicemail_settings" msgid="4451045613238972776">"Наладка"</string>
     <string name="voicemail_number_not_set" msgid="8831561283386938155">"&lt;Не зададзены&gt;"</string>
@@ -689,7 +674,6 @@
     <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="callFailed_cdma_activation" msgid="5392057031552253550">"SIM-карта актывавала вашу службу і абнавіла функцыі роўмінгу вашага тэлефона."</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"Занадта шмат актыўных выклікаў. Скончыце ці аб\'яднайце існуючыя выклікі, перш чым рабіць новы выклік."</string>
@@ -833,7 +817,7 @@
     <string name="callFailed_already_dialing" msgid="7250591188960691086">"Немагчыма зрабіць выклік, паколькі зараз ідзе выходны выклік."</string>
     <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="callFailed_too_many_calls" msgid="2761754044990799580">"Немагчыма зрабіць новы выклік, бо ўжо выконваюцца два іншыя. Каб зрабіць новы выклік, завяршыце адзін з бягучых ці аб\'яднайце іх у канферэнц-выклік."</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">"Уключыце перадачу мабільных даных на SIM-карце <xliff:g id="SIM_NUMBER">%2$d</xliff:g> для выкарыстання сэрвісу <xliff:g id="SUPP_SERVICE">%1$s</xliff:g>. Гэта можна зрабіць у наладах мабільнай сеткі."</string>
@@ -851,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"Каб змяніць гэту наладу, трэба перазапусціць прыладу."</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"Перазапусціць"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"Скасаваць"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"Зрабіць здымную eSIM-карту стандартнай"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"Магутнасць радыёсігналу"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"Праглядзець адрасную кнігу на SIM-карце"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"Прагляд фіксаваных нумароў"</string>
@@ -905,6 +890,7 @@
     <string name="radio_info_band_mode_label" msgid="23480556225515290">"Выбраць радыёдыяпазон"</string>
     <string name="radio_info_voice_network_type_label" msgid="2395347336419593265">"Тып галасавой сеткі:"</string>
     <string name="radio_info_data_network_type_label" msgid="8886597029237501929">"Тып сеткі перадачы даных:"</string>
+    <string name="radio_info_override_network_type_label" msgid="4176280017221092005">"Перавызначэнне тыпу сеткі:"</string>
     <string name="phone_index_label" msgid="6222406512768964268">"Выбраць тэлефонны код"</string>
     <string name="radio_info_set_perferred_label" msgid="7408131389363136210">"Задаць прыярытэтны тып сеткі:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="6951237885381284790">"Каманда ping для хоста www.google.com (IPv4):"</string>
@@ -916,10 +902,10 @@
     <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">"Інфармацыя/налады пастаўшчыка"</string>
-    <string name="radio_info_endc_available" msgid="4410653375290113436">"Даступнасць EN-DC:"</string>
-    <string name="radio_info_dcnr_restricted" msgid="2469125498066960807">"Абмежаванне DCNR:"</string>
-    <string name="radio_info_nr_available" msgid="1321318331361249997">"Даступнасць NR:"</string>
-    <string name="radio_info_nr_state" msgid="1337571996788535356">"Стан NR:"</string>
+    <string name="radio_info_endc_available" msgid="2983767110681230019">"Падключэнне EN-DC даступнае (NSA):"</string>
+    <string name="radio_info_dcnr_restricted" msgid="7147511536420148173">"Падключэнне DCNR абмежавана (NSA):"</string>
+    <string name="radio_info_nr_available" msgid="3383388088451237182">"Падключэнне NR даступнае (NSA):"</string>
+    <string name="radio_info_nr_state" msgid="4158805093187555149">"Стан NR (NSA):"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"Частата NR:"</string>
     <string name="band_mode_title" msgid="7988822920724576842">"Задаць рэжым радыёдыяпазону"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"Загружаецца спіс дыяпазонаў…"</string>
diff --git a/res/values-bg/strings.xml b/res/values-bg/strings.xml
index 216c789..871438d 100644
--- a/res/values-bg/strings.xml
+++ b/res/values-bg/strings.xml
@@ -637,14 +637,8 @@
     <string name="phone_in_ecm_notification_title" msgid="6825016389926367946">"Режим на обратно обаждане при спешност"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="653972232922670335">"Връзката с данни е деактивирана"</string>
     <string name="phone_in_ecm_notification_complete_time" msgid="7341624337163082759">"Няма връзка за данни до <xliff:g id="COMPLETETIME">%s</xliff:g>"</string>
-    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="5425906903766466743">
-      <item quantity="other">Телефонът ще бъде в режим за обратно обаждане при спешност в продължение на <xliff:g id="COUNT_1">%s</xliff:g> минути. В този режим не могат да се използват приложения, работещи с връзка за данни. Искате ли да излезете сега?</item>
-      <item quantity="one">Телефонът ще бъде в режим за обратно обаждане при спешност в продължение на <xliff:g id="COUNT_0">%s</xliff:g> минута. В този режим не могат да се използват приложения, работещи с връзка за данни. Искате ли да излезете сега?</item>
-    </plurals>
-    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="1152682528741457004">
-      <item quantity="other">Избраното действие не е налице в режима за обратно обаждане при спешност. Телефонът ще бъде в този режим в продължение на <xliff:g id="COUNT_1">%s</xliff:g> минути. Искате ли да излезете сега?</item>
-      <item quantity="one">Избраното действие не е налице в режима за обратно обаждане при спешност. Телефонът ще бъде в този режим в продължение на <xliff:g id="COUNT_0">%s</xliff:g> минута. Искате ли да излезете сега?</item>
-    </plurals>
+    <string name="alert_dialog_exit_ecm" msgid="7661603870224398025">"{count,plural, =1{Телефонът ще бъде в режим на обратно обаждане при спешност в продължение на 1 минута. През това време не могат да се използват приложения, работещи с връзка с данни. Искате ли да излезете сега?}other{Телефонът ще бъде в режим на обратно обаждане при спешност в продължение на %s минути. През това време не могат да се използват приложения, работещи с връзка с данни. Искате ли да излезете сега?}}"</string>
+    <string name="alert_dialog_not_avaialble_in_ecm" msgid="8717711120099503279">"{count,plural, =1{Избраното действие не е налично в режим на обратно обаждане при спешност. Телефонът ще бъде в този режим в продължение на 1 минута. Искате ли да излезете сега?}other{Избраното действие не е налично в режим на обратно обаждане при спешност. Телефонът ще бъде в този режим в продължение на %s минути. Искате ли да излезете сега?}}"</string>
     <string name="alert_dialog_in_ecm_call" msgid="1207545603149771978">"Избраното действие не е налично по време на спешно обаждане."</string>
     <string name="progress_dialog_exiting_ecm" msgid="9159080081676927217">"Излиза се от режим на спешно обратно обаждане"</string>
     <string name="alert_dialog_yes" msgid="3532525979632841417">"Да"</string>
@@ -652,10 +646,7 @@
     <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">
-      <item quantity="other">Телефонът ще бъде в режим на спешно обратно обаждане в продължение на <xliff:g id="COUNT_1">%s</xliff:g> минути.\nИскате ли да излезете сега?</item>
-      <item quantity="one">Телефонът ще бъде в режим на спешно обратно обаждане в продължение на <xliff:g id="COUNT_0">%s</xliff:g> минута.\nИскате ли да излезете сега?</item>
-    </plurals>
+    <string name="alert_dialog_exit_ecm_without_data_restriction_hint" msgid="7549850847524907932">"{count,plural, =1{Телефонът ще бъде в режим на обратно обаждане при спешност в продължение на 1 минута.\nИскате ли да излезете сега?}other{Телефонът ще бъде в режим на обратно обаждане при спешност в продължение на %s минути.\nИскате ли да излезете сега?}}"</string>
     <string name="voicemail_provider" msgid="4158806657253745294">"Услуга"</string>
     <string name="voicemail_settings" msgid="4451045613238972776">"Настройка"</string>
     <string name="voicemail_number_not_set" msgid="8831561283386938155">"&lt;Не е зададено&gt;"</string>
@@ -683,7 +674,6 @@
     <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="callFailed_cdma_activation" msgid="5392057031552253550">"SIM картата е активирала клетъчните ви услуги и е актуализирала възможностите за роуминг на телефона ви."</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"Активните обаждания са твърде много. Моля, завършете или обединете съществуващи обаждания, преди да започнете ново."</string>
@@ -827,7 +817,7 @@
     <string name="callFailed_already_dialing" msgid="7250591188960691086">"Не може да се извърши обаждане, тъй като в момента се набира друго изходящо обаждане."</string>
     <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="callFailed_too_many_calls" msgid="2761754044990799580">"Не може да се извърши обаждане, тъй като вече се провеждат две обаждания. Прекъснете едно от тях или ги обединете в конферентен разговор, преди да извършите ново обаждане."</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>, мобилните данни за SIM <xliff:g id="SIM_NUMBER">%2$d</xliff:g> трябва да са включени. Можете да промените това в настройките за мобилната мрежа."</string>
@@ -845,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"За да промените настройката, трябва да рестартирате устройството си."</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"Рестартиране"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"Отказ"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"Задаване на електронната SIM карта с изваждащ се чип като основна"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"Мощност на мобилното радио"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"Преглед на указателя на SIM картата"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"Преглед на номера за фиксирано набиране"</string>
@@ -899,6 +890,7 @@
     <string name="radio_info_band_mode_label" msgid="23480556225515290">"Избиране на радиодиапазон"</string>
     <string name="radio_info_voice_network_type_label" msgid="2395347336419593265">"Тип на гласовата мрежа:"</string>
     <string name="radio_info_data_network_type_label" msgid="8886597029237501929">"Тип на мрежата за данни:"</string>
+    <string name="radio_info_override_network_type_label" msgid="4176280017221092005">"Замяна на типа на мрежата:"</string>
     <string name="phone_index_label" msgid="6222406512768964268">"Избиране на индекс за телефон"</string>
     <string name="radio_info_set_perferred_label" msgid="7408131389363136210">"Задаване на предпочитан тип мрежа:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="6951237885381284790">"Име на хост за позив (www.google.com) IPv4:"</string>
@@ -910,10 +902,10 @@
     <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">"Информация/настройки, специфични за ОЕМ"</string>
-    <string name="radio_info_endc_available" msgid="4410653375290113436">"Налично EN-DC:"</string>
-    <string name="radio_info_dcnr_restricted" msgid="2469125498066960807">"Ограничено DCNR:"</string>
-    <string name="radio_info_nr_available" msgid="1321318331361249997">"Налично NR:"</string>
-    <string name="radio_info_nr_state" msgid="1337571996788535356">"Състояние на NR:"</string>
+    <string name="radio_info_endc_available" msgid="2983767110681230019">"EN-DC е налице (NSA):"</string>
+    <string name="radio_info_dcnr_restricted" msgid="7147511536420148173">"DCNR е ограничено (NSA):"</string>
+    <string name="radio_info_nr_available" msgid="3383388088451237182">"NR е налице (NSA):"</string>
+    <string name="radio_info_nr_state" msgid="4158805093187555149">"Състояние на NR (NSA):"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"Честота за NR:"</string>
     <string name="band_mode_title" msgid="7988822920724576842">"Задаване на режима за радиодиапазона"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"Списъкът с диапазони се зарежда…"</string>
diff --git a/res/values-bn/strings.xml b/res/values-bn/strings.xml
index 81a2b33..1605181 100644
--- a/res/values-bn/strings.xml
+++ b/res/values-bn/strings.xml
@@ -637,14 +637,8 @@
     <string name="phone_in_ecm_notification_title" msgid="6825016389926367946">"জরুরি কলব্যাক মোড"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="653972232922670335">"ডেটা সংযোগ অক্ষম করা হয়েছে"</string>
     <string name="phone_in_ecm_notification_complete_time" msgid="7341624337163082759">"<xliff:g id="COMPLETETIME">%s</xliff:g> পর্যন্ত কোনো ডেটা সংযোগ থাকবে না"</string>
-    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="5425906903766466743">
-      <item quantity="one">ফোনটি <xliff:g id="COUNT_1">%s</xliff:g> মিনিটের জন্য জরুরী কলব্যাক মোডে থাকবে৷ এই মোডে থাকাকালীন একটি ডেটা সংযোগ ব্যবহার করে কোনো অ্যাপ্লিকেশান ব্যবহার করা যাবে না৷ আপনি কি এখনই প্রস্থান করতে চান?</item>
-      <item quantity="other">ফোনটি <xliff:g id="COUNT_1">%s</xliff:g> মিনিটের জন্য জরুরী কলব্যাক মোডে থাকবে৷ এই মোডে থাকাকালীন একটি ডেটা সংযোগ ব্যবহার করে কোনো অ্যাপ্লিকেশান ব্যবহার করা যাবে না৷ আপনি কি এখনই প্রস্থান করতে চান?</item>
-    </plurals>
-    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="1152682528741457004">
-      <item quantity="one">জরুরী কলব্যাক মোডে থাকাকালীন নির্বাচিত অ্যাকশন উপলব্ধ থাকবে না৷ ফোনটি <xliff:g id="COUNT_1">%s</xliff:g> মিনিটের জন্য এই মোডে থাকবে৷ আপনি কি এখনই প্রস্থান করতে চান?</item>
-      <item quantity="other">জরুরী কলব্যাক মোডে থাকাকালীন নির্বাচিত অ্যাকশন উপলব্ধ থাকবে না৷ ফোনটি <xliff:g id="COUNT_1">%s</xliff:g> মিনিটের জন্য এই মোডে থাকবে৷ আপনি কি এখনই প্রস্থান করতে চান?</item>
-    </plurals>
+    <!-- format error in translation for alert_dialog_exit_ecm (7661603870224398025) -->
+    <!-- format error in translation for alert_dialog_not_avaialble_in_ecm (8717711120099503279) -->
     <string name="alert_dialog_in_ecm_call" msgid="1207545603149771978">"কোনো জরুরি কলে থাকাকালীন নির্বাচিত ক্রিয়া উপলব্ধ নয়৷"</string>
     <string name="progress_dialog_exiting_ecm" msgid="9159080081676927217">"জরুরি কলব্যাক মোড থেকে প্রস্থান করা হচ্ছে"</string>
     <string name="alert_dialog_yes" msgid="3532525979632841417">"হ্যাঁ"</string>
@@ -652,10 +646,7 @@
     <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">
-      <item quantity="one"><xliff:g id="COUNT_1">%s</xliff:g> মিনিটের জন্য ফোনটি জরুরি কলব্যাক মোডে থাকবে।\nআপনি কি এখন বেরিয়ে আসতে চান?</item>
-      <item quantity="other"><xliff:g id="COUNT_1">%s</xliff:g> মিনিটের জন্য ফোনটি জরুরি কলব্যাক মোডে থাকবে।\nআপনি কি এখন বেরিয়ে আসতে চান?</item>
-    </plurals>
+    <!-- format error in translation for alert_dialog_exit_ecm_without_data_restriction_hint (7549850847524907932) -->
     <string name="voicemail_provider" msgid="4158806657253745294">"পরিষেবা"</string>
     <string name="voicemail_settings" msgid="4451045613238972776">"সেটআপ"</string>
     <string name="voicemail_number_not_set" msgid="8831561283386938155">"&lt;সেট করা নেই&gt;"</string>
@@ -683,7 +674,6 @@
     <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">"ওয়াই-ফাই কল"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"খোলার জন্য আবার আলতো চাপুন"</string>
     <string name="message_decode_error" msgid="1061856591500290887">"বার্তাটি ডিকোড করার সময় একটি ত্রুটি ঘটেছে৷"</string>
     <string name="callFailed_cdma_activation" msgid="5392057031552253550">"একটি সিম কার্ড আপনার পরিষেবা সক্রিয় করেছে এবং আপনার ফোনের রোমিং ক্ষমতা আপডেট করা হয়েছে৷"</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"অনেকগুলি কল সক্রিয় রয়েছে। অনুগ্রহ করে একটি নতুন কল করার আগে বিদ্যমান কলগুলি কেটে দিন বা এটিকে সেই কলগুলিতে অন্তর্ভুক্ত করুন।"</string>
@@ -827,7 +817,7 @@
     <string name="callFailed_already_dialing" msgid="7250591188960691086">"আপনি আগেই আউটগোয়িং কল ডায়াল করেছেন তাই অন্য কল করা যাবে না।"</string>
     <string name="callFailed_already_ringing" msgid="2376603543544289303">"কল করতে পারবেন না কারণ এমন একটি ইনকামিং কল আছে যার উত্তর দেওয়া হয়নি। নতুন কল করতে বর্তমান কলটির উত্তর দিন অথবা প্রত্যাখান করুন।"</string>
     <string name="callFailed_calling_disabled" msgid="5010992739401206283">"\'ro.telephony কল বন্ধ করা সিস্টেম প্রপার্টি\' ব্যবহার করে কল বন্ধ করা হয়েছে তাই কল করা যাবে না।"</string>
-    <string name="callFailed_too_many_calls" msgid="5379426826618582180">"আগে থেকেই দুটি কল চলছে তাই কল করা যাবে না। নতুন কল করতে একটি কল বন্ধ করুন অথবা কনফারেন্স কলে মার্জ করুন।"</string>
+    <string name="callFailed_too_many_calls" msgid="2761754044990799580">"দুটি কল চলছে, তাই আরেকটি কল করা যাচ্ছে না। নতুন কল করার আগে যেকোনও একটি কল কেটে দিন অথবা দুটিকে একসাথে একটি কনফারেন্সে মার্জ করুন।"</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>
@@ -845,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"এই সেটিং পরিবর্তন করতে আপনার ডিভাইস রিস্টার্ট করতে হবে।"</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"রিস্টার্ট করুন"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"বাদ দিন"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"সরিয়ে দেওয়া যায় এমন eSIM ডিফল্ট হিসেবে সেট করুন"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"মোবাইল রেডিওর গুণমান"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"সিম অ্যাড্রেস বুক দেখুন"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"স্থায়ী ডায়াল নম্বরগুলি দেখুন"</string>
@@ -899,6 +890,7 @@
     <string name="radio_info_band_mode_label" msgid="23480556225515290">"রেডিও ব্যান্ড বেছে নিন"</string>
     <string name="radio_info_voice_network_type_label" msgid="2395347336419593265">"ভয়েস নেটওয়ার্কের প্রকার:"</string>
     <string name="radio_info_data_network_type_label" msgid="8886597029237501929">"ডেটা নেটওয়ার্কের প্রকার:"</string>
+    <string name="radio_info_override_network_type_label" msgid="4176280017221092005">"ওভাররাইড নেটওয়ার্কের ধরন:"</string>
     <string name="phone_index_label" msgid="6222406512768964268">"ফোনের ইন্ডেক্স বেছে নিন"</string>
     <string name="radio_info_set_perferred_label" msgid="7408131389363136210">"পছন্দের নেটওয়ার্ক সেট করুন:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="6951237885381284790">"হোস্টনামে(www.google.com) IPv4 পিং করুন:"</string>
@@ -910,10 +902,10 @@
     <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>
-    <string name="radio_info_dcnr_restricted" msgid="2469125498066960807">"DCNR সীমাবদ্ধ করা আছে:"</string>
-    <string name="radio_info_nr_available" msgid="1321318331361249997">"NR উপলভ্য:"</string>
-    <string name="radio_info_nr_state" msgid="1337571996788535356">"NR স্ট্যাটাস:"</string>
+    <string name="radio_info_endc_available" msgid="2983767110681230019">"এন-ডিসি (EN-DC) উপলভ্য (এনএসএ) (NSA):"</string>
+    <string name="radio_info_dcnr_restricted" msgid="7147511536420148173">"ডিসিএনআর (DCNR) সীমাবদ্ধ (এনএসএ) (NSA):"</string>
+    <string name="radio_info_nr_available" msgid="3383388088451237182">"এনআর (NR) উপলভ্য (এনএসএ) (NSA):"</string>
+    <string name="radio_info_nr_state" msgid="4158805093187555149">"এনআর (NR) স্ট্যাটাস (এনএসএ) (NSA):"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR ফ্রিকোয়েন্সি:"</string>
     <string name="band_mode_title" msgid="7988822920724576842">"রেডিও ব্যান্ড মোড সেট করুন"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"ব্যান্ড তালিকা লোড হচ্ছে..."</string>
diff --git a/res/values-bs/strings.xml b/res/values-bs/strings.xml
index 261506d..fec68b1 100644
--- a/res/values-bs/strings.xml
+++ b/res/values-bs/strings.xml
@@ -637,16 +637,8 @@
     <string name="phone_in_ecm_notification_title" msgid="6825016389926367946">"Način rada za hitni povratni poziv"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="653972232922670335">"Podatkovna veza je onemogućena"</string>
     <string name="phone_in_ecm_notification_complete_time" msgid="7341624337163082759">"Nema veze za prijenos podataka do <xliff:g id="COMPLETETIME">%s</xliff:g>"</string>
-    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="5425906903766466743">
-      <item quantity="one">Telefon će biti u Načinu rada za hitni povratni poziv <xliff:g id="COUNT_1">%s</xliff:g> minutu. Dok se nalazi u ovom načinu rada, ne mogu se upotrebljavati aplikacije koje koriste vezu za prijenos podataka. Želite li izaći iz ovog načina rada sada?</item>
-      <item quantity="few">Telefon će biti u Načinu rada za hitni povratni poziv u <xliff:g id="COUNT_1">%s</xliff:g> minute. Dok se nalazi u ovom načinu rada, ne mogu se upotrebljavati aplikacije koje koriste vezu za prijenos podataka. Želite li izaći iz ovog načina rada sada?</item>
-      <item quantity="other">Telefon će biti u Načinu rada za hitni povratni poziv <xliff:g id="COUNT_1">%s</xliff:g> minuta. Dok se nalazi u ovom načinu rada, ne mogu se upotrebljavati aplikacije koje koriste vezu za prijenos podataka. Želite li izaći iz ovog načina rada sada?</item>
-    </plurals>
-    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="1152682528741457004">
-      <item quantity="one">Odabrana radnja nije dostupna u načinu rada za hitni povratni poziv. Telefon će biti u ovom načinu rada <xliff:g id="COUNT_1">%s</xliff:g> minutu. Želite li izaći iz ovog načina rada sada?</item>
-      <item quantity="few">Odabrana radnja nije dostupna u načinu rada za hitni povratni poziv. Telefon će biti u ovom načinu rada <xliff:g id="COUNT_1">%s</xliff:g> minute. Želite li izaći iz ovog načina rada sada?</item>
-      <item quantity="other">Odabrana radnja nije dostupna u načinu rada za hitni povratni poziv. Telefon će biti u ovom načinu rada <xliff:g id="COUNT_1">%s</xliff:g> minuta. Želite li izaći iz ovog načina rada sada?</item>
-    </plurals>
+    <!-- format error in translation for alert_dialog_exit_ecm (7661603870224398025) -->
+    <!-- format error in translation for alert_dialog_not_avaialble_in_ecm (8717711120099503279) -->
     <string name="alert_dialog_in_ecm_call" msgid="1207545603149771978">"Odabrana radnja nije dostupna tokom hitnog poziva."</string>
     <string name="progress_dialog_exiting_ecm" msgid="9159080081676927217">"Izlazak iz načina rada za hitni povratni poziv"</string>
     <string name="alert_dialog_yes" msgid="3532525979632841417">"Da"</string>
@@ -654,11 +646,7 @@
     <string name="alert_dialog_dismiss" msgid="1336356286354517054">"Odbaci"</string>
     <string name="phone_in_ecm_call_notification_text_without_data_restriction_hint" msgid="3747860785153531225">"Telefon je u načinu rada za hitni povratni poziv"</string>
     <string name="phone_in_ecm_notification_complete_time_without_data_restriction_hint" msgid="3690292264812050858">"Do <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">Telefon će biti u načinu rada za hitni povratni poziv <xliff:g id="COUNT_1">%s</xliff:g> minutu.\nŽelite li izaći iz ovog načina rada sada?</item>
-      <item quantity="few">Telefon će biti u načinu rada za hitni povratni poziv <xliff:g id="COUNT_1">%s</xliff:g> minute.\nŽelite li izaći iz ovog načina rada sada?</item>
-      <item quantity="other">Telefon će biti u načinu rada za hitni povratni poziv <xliff:g id="COUNT_1">%s</xliff:g> minuta.\nŽelite li izaći iz ovog načina rada sada?</item>
-    </plurals>
+    <!-- format error in translation for alert_dialog_exit_ecm_without_data_restriction_hint (7549850847524907932) -->
     <string name="voicemail_provider" msgid="4158806657253745294">"Usluga"</string>
     <string name="voicemail_settings" msgid="4451045613238972776">"Postavljanje"</string>
     <string name="voicemail_number_not_set" msgid="8831561283386938155">"&lt;Nije postavljeno&gt;"</string>
@@ -686,7 +674,6 @@
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"Pristupačnost"</string>
     <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"WiFi poziv od"</string>
     <string name="status_hint_label_wifi_call" msgid="942993035689809853">"WiFi poziv"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"Dodirnite ponovo da otvorite"</string>
     <string name="message_decode_error" msgid="1061856591500290887">"Došlo je do greške prilikom dekodiranja poruke."</string>
     <string name="callFailed_cdma_activation" msgid="5392057031552253550">"SIM kartica je aktivirala vašu uslugu i ažurirala mogućnosti rominga za telefon."</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"Previše aktivnih poziva. Prekinite ili spojite postojeće pozive prije upućivanja novog poziva."</string>
@@ -830,7 +817,7 @@
     <string name="callFailed_already_dialing" msgid="7250591188960691086">"Nije moguće uputiti poziv zbog uspostavljanja drugog odlaznog poziva."</string>
     <string name="callFailed_already_ringing" msgid="2376603543544289303">"Nije moguće uputiti poziv zbog neodgovorenog dolaznog poziva. Odgovorite ili odbijte dolazni poziv prije upućivanja novog poziva."</string>
     <string name="callFailed_calling_disabled" msgid="5010992739401206283">"Nije moguće uputiti poziv zbog onemogućenog pozivanja putem sistemske funkcije ro.telephony.disable-call."</string>
-    <string name="callFailed_too_many_calls" msgid="5379426826618582180">"Nije moguće uputiti poziv jer su dva poziva već u toku. Prekinite jedan od njih ili ih objedinite u konferencijski poziv prije upućivanja novog poziva."</string>
+    <string name="callFailed_too_many_calls" msgid="2761754044990799580">"Nije moguće uputiti poziv jer su dva poziva već u toku. Prekinite jedan od njih ili ih spojite u konferencijski poziv prije upućivanja novog poziva."</string>
     <string name="supp_service_over_ut_precautions" msgid="2145018231396701311">"Za korištenje usluge <xliff:g id="SUPP_SERVICE">%s</xliff:g>, provjerite je li uključen prijenos podataka na mobilnoj mreži. Ovo možete promijeniti u postavkama mobilne mreže."</string>
     <string name="supp_service_over_ut_precautions_roaming" msgid="670342104569972327">"Za korištenje usluge <xliff:g id="SUPP_SERVICE">%s</xliff:g>, provjerite jesu li uključeni prijenos podataka na mobilnoj mreži i roming podataka. Ovo možete promijeniti u postavkama mobilne mreže."</string>
     <string name="supp_service_over_ut_precautions_dual_sim" msgid="5166866975550910474">"Za korištenje usluge <xliff:g id="SUPP_SERVICE">%1$s</xliff:g>, provjerite je li za SIM <xliff:g id="SIM_NUMBER">%2$d</xliff:g> uključen prijenos podataka na mobilnoj mreži. Ovo možete promijeniti u postavkama mobilne mreže."</string>
@@ -848,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"Da promijenite ovu postavku, trebate ponovo pokrenuti uređaj."</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"Ponovo pokreni"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"Otkaži"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"Postavljanje uklonjive eSim kartice kao zadane"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"Snaga mobilnog radija"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"Prikaži SIM adresar"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"Prikaži brojeve fiksnog biranja"</string>
@@ -902,6 +890,7 @@
     <string name="radio_info_band_mode_label" msgid="23480556225515290">"Odaberi radijski opseg"</string>
     <string name="radio_info_voice_network_type_label" msgid="2395347336419593265">"Vrsta glasovne mreže:"</string>
     <string name="radio_info_data_network_type_label" msgid="8886597029237501929">"Vrsta mreže za prijenos podataka:"</string>
+    <string name="radio_info_override_network_type_label" msgid="4176280017221092005">"Zaobilaženje vrste mreže:"</string>
     <string name="phone_index_label" msgid="6222406512768964268">"Odaberi indeks telefona"</string>
     <string name="radio_info_set_perferred_label" msgid="7408131389363136210">"Postavi preferiranu vrstu mreže:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="6951237885381284790">"Pinguj ime računara (www.google.com) IPv4:"</string>
@@ -913,10 +902,10 @@
     <string name="radio_info_smsc_refresh_label" msgid="8409923721451604560">"Osvježi"</string>
     <string name="radio_info_toggle_dns_check_label" msgid="1394078554927787350">"Uključi/isključi provjeru DNS-a"</string>
     <string name="oem_radio_info_label" msgid="2914167475119997456">"OEM-specifične informacije/postavke"</string>
-    <string name="radio_info_endc_available" msgid="4410653375290113436">"EN-DC dostupno:"</string>
-    <string name="radio_info_dcnr_restricted" msgid="2469125498066960807">"DCNR ograničeno:"</string>
-    <string name="radio_info_nr_available" msgid="1321318331361249997">"NR dostupno:"</string>
-    <string name="radio_info_nr_state" msgid="1337571996788535356">"NR stanje:"</string>
+    <string name="radio_info_endc_available" msgid="2983767110681230019">"EN-DC dostupno (NSA):"</string>
+    <string name="radio_info_dcnr_restricted" msgid="7147511536420148173">"DCNR ograničeno (NSA):"</string>
+    <string name="radio_info_nr_available" msgid="3383388088451237182">"NR dostupno (NSA):"</string>
+    <string name="radio_info_nr_state" msgid="4158805093187555149">"NR stanje (NSA):"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR učestalost:"</string>
     <string name="band_mode_title" msgid="7988822920724576842">"Postavite način radijskog opsega"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"Učitavanje liste opsega…"</string>
diff --git a/res/values-ca/strings.xml b/res/values-ca/strings.xml
index 5bc13e0..ff2ecf8 100644
--- a/res/values-ca/strings.xml
+++ b/res/values-ca/strings.xml
@@ -637,14 +637,8 @@
     <string name="phone_in_ecm_notification_title" msgid="6825016389926367946">"Mode de devolució de trucada d\'emergència"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="653972232922670335">"Connexió de dades desactivada"</string>
     <string name="phone_in_ecm_notification_complete_time" msgid="7341624337163082759">"No hi haurà connexió de dades fins a les <xliff:g id="COMPLETETIME">%s</xliff:g>"</string>
-    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="5425906903766466743">
-      <item quantity="other">El telèfon estarà en mode de devolució de trucades d\'emergència durant <xliff:g id="COUNT_1">%s</xliff:g> minuts. Durant aquest temps, no es podrà utilitzar cap aplicació que faci servir una connexió de dades. Vols sortir ara?</item>
-      <item quantity="one">El telèfon estarà en mode de devolució de trucades d\'emergència durant <xliff:g id="COUNT_0">%s</xliff:g> minut. Durant aquest temps, no es podrà utilitzar cap aplicació que faci servir una connexió de dades. Vols sortir ara?</item>
-    </plurals>
-    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="1152682528741457004">
-      <item quantity="other">L\'acció seleccionada no està disponible amb el mode de devolució de trucades d\'emergència. El telèfon tindrà aquest mode activat durant <xliff:g id="COUNT_1">%s</xliff:g> minuts. Vols sortir ara?</item>
-      <item quantity="one">L\'acció seleccionada no està disponible amb el mode de devolució de trucades d\'emergència. El telèfon tindrà aquest mode activat durant <xliff:g id="COUNT_0">%s</xliff:g> minut. Vols sortir ara?</item>
-    </plurals>
+    <string name="alert_dialog_exit_ecm" msgid="7661603870224398025">"{count,plural, =1{El telèfon estarà en mode de devolució de trucada d\'emergència durant 1 minut. Mentre estigui en aquest mode, no es podran fer servir aplicacions que utilitzin una connexió de dades. En vols sortir ara?}other{El telèfon estarà en mode de devolució de trucada d\'emergència durant %s minuts. Mentre estigui en aquest mode, no es podran fer servir aplicacions que utilitzin una connexió de dades. En vols sortir ara?}}"</string>
+    <string name="alert_dialog_not_avaialble_in_ecm" msgid="8717711120099503279">"{count,plural, =1{L\'acció seleccionada no està disponible mentre tens activat el mode de devolució de trucada d\'emergència. El telèfon estarà en aquest mode durant 1 minut. En vols sortir ara?}other{L\'acció seleccionada no està disponible mentre tens activat el mode de devolució de trucada d\'emergència. El telèfon estarà en aquest mode durant %s minuts. En vols sortir ara?}}"</string>
     <string name="alert_dialog_in_ecm_call" msgid="1207545603149771978">"L\'acció seleccionada no està disponible en una trucada d\'emergència."</string>
     <string name="progress_dialog_exiting_ecm" msgid="9159080081676927217">"S\'està sortint del mode de devolució de trucades d\'emergència"</string>
     <string name="alert_dialog_yes" msgid="3532525979632841417">"Sí"</string>
@@ -652,10 +646,7 @@
     <string name="alert_dialog_dismiss" msgid="1336356286354517054">"Ignora"</string>
     <string name="phone_in_ecm_call_notification_text_without_data_restriction_hint" msgid="3747860785153531225">"El telèfon està en el mode de devolució de trucada d\'emergència"</string>
     <string name="phone_in_ecm_notification_complete_time_without_data_restriction_hint" msgid="3690292264812050858">"Fins a les <xliff:g id="COMPLETETIME">%s</xliff:g>"</string>
-    <plurals name="alert_dialog_exit_ecm_without_data_restriction_hint" formatted="false" msgid="6477733043040328640">
-      <item quantity="other">El telèfon estarà en el mode de devolució de trucada d\'emergència durant <xliff:g id="COUNT_1">%s</xliff:g> minuts.\nVols sortir-ne ara?</item>
-      <item quantity="one">El telèfon estarà en el mode de devolució de trucada d\'emergència durant <xliff:g id="COUNT_0">%s</xliff:g> minut.\nVols sortir-ne ara?</item>
-    </plurals>
+    <string name="alert_dialog_exit_ecm_without_data_restriction_hint" msgid="7549850847524907932">"{count,plural, =1{El telèfon estarà en el mode de devolució de trucada d\'emergència durant 1 minut.\nEn vols sortir ara?}other{El telèfon estarà en el mode de devolució de trucada d\'emergència durant %s minuts.\nEn vols sortir ara?}}"</string>
     <string name="voicemail_provider" msgid="4158806657253745294">"Servei"</string>
     <string name="voicemail_settings" msgid="4451045613238972776">"Configuració"</string>
     <string name="voicemail_number_not_set" msgid="8831561283386938155">"&lt;No definit&gt;"</string>
@@ -683,7 +674,6 @@
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"Accessibilitat"</string>
     <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"Trucada per Wi-Fi de"</string>
     <string name="status_hint_label_wifi_call" msgid="942993035689809853">"Trucada per Wi-Fi"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"Torna a tocar per obrir"</string>
     <string name="message_decode_error" msgid="1061856591500290887">"S\'ha produït un error en descodificar el missatge."</string>
     <string name="callFailed_cdma_activation" msgid="5392057031552253550">"Una targeta SIM ha activat el servei, i s\'ha actualitzat la funció d\'itinerància del telèfon."</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"Hi ha massa trucades actives. Finalitza\'n alguna o combina-les abans de fer-ne una de nova."</string>
@@ -827,7 +817,7 @@
     <string name="callFailed_already_dialing" msgid="7250591188960691086">"No es pot fer la trucada perquè ja hi ha una trucada sortint en curs."</string>
     <string name="callFailed_already_ringing" msgid="2376603543544289303">"No es pot fer la trucada perquè hi ha una trucada entrant sense resposta. Respon-hi o rebutja-la abans de fer més trucades."</string>
     <string name="callFailed_calling_disabled" msgid="5010992739401206283">"No es pot fer la trucada perquè l\'opció de trucar s\'ha desactivat mitjançant la propietat del sistema ro.telephony.disable-call."</string>
-    <string name="callFailed_too_many_calls" msgid="5379426826618582180">"No es pot fer la trucada perquè ja n\'hi ha dues en curs. Desconnecta\'n una o combina-les en una conferència abans de fer-ne més de noves."</string>
+    <string name="callFailed_too_many_calls" msgid="2761754044990799580">"No es pot fer la trucada perquè ja n\'hi ha dues en curs. Desconnecta\'n una o combina-les en una conferència abans de fer-ne més de noves."</string>
     <string name="supp_service_over_ut_precautions" msgid="2145018231396701311">"Comprova que les dades mòbils estiguin activades per utilitzar <xliff:g id="SUPP_SERVICE">%s</xliff:g>. Pots canviar aquesta opció a la configuració de xarxa mòbil."</string>
     <string name="supp_service_over_ut_precautions_roaming" msgid="670342104569972327">"Comprova que les dades mòbils i la itinerància de dades estiguin activades per utilitzar <xliff:g id="SUPP_SERVICE">%s</xliff:g>. Pots canviar aquestes opcions a la configuració de xarxa mòbil."</string>
     <string name="supp_service_over_ut_precautions_dual_sim" msgid="5166866975550910474">"Comprova que les dades mòbils estiguin activades a la SIM <xliff:g id="SIM_NUMBER">%2$d</xliff:g> per utilitzar <xliff:g id="SUPP_SERVICE">%1$s</xliff:g>. Pots canviar aquesta opció a la configuració de xarxa mòbil."</string>
@@ -845,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"Has de reiniciar el dispositiu per canviar aquesta opció."</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"Reinicia"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"Cancel·la"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"Defineix l\'eSIM extraïble com a opció predeterminada"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"Potència del senyal mòbil"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"Mostra la llibreta d\'adreces de la SIM"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"Mostra els números de marcatge fix"</string>
@@ -899,6 +890,7 @@
     <string name="radio_info_band_mode_label" msgid="23480556225515290">"Selecciona la banda de senyal mòbil"</string>
     <string name="radio_info_voice_network_type_label" msgid="2395347336419593265">"Tipus de xarxa de veu:"</string>
     <string name="radio_info_data_network_type_label" msgid="8886597029237501929">"Tipus de xarxa de dades:"</string>
+    <string name="radio_info_override_network_type_label" msgid="4176280017221092005">"Substitució de tipus de xarxa:"</string>
     <string name="phone_index_label" msgid="6222406512768964268">"Selecciona la guia telefònica"</string>
     <string name="radio_info_set_perferred_label" msgid="7408131389363136210">"Defineix el tipus de xarxa preferit:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="6951237885381284790">"Fer ping a IPv4 de nom d\'amfitrió (www.google.com):"</string>
@@ -910,10 +902,10 @@
     <string name="radio_info_smsc_refresh_label" msgid="8409923721451604560">"Actualitza"</string>
     <string name="radio_info_toggle_dns_check_label" msgid="1394078554927787350">"Activa o desactiva la comprovació de DNS"</string>
     <string name="oem_radio_info_label" msgid="2914167475119997456">"Informació/configuració específica d\'OEM"</string>
-    <string name="radio_info_endc_available" msgid="4410653375290113436">"EN-DC disponible:"</string>
-    <string name="radio_info_dcnr_restricted" msgid="2469125498066960807">"DCNR amb restriccions:"</string>
-    <string name="radio_info_nr_available" msgid="1321318331361249997">"NR disponible:"</string>
-    <string name="radio_info_nr_state" msgid="1337571996788535356">"Estat d\'NR:"</string>
+    <string name="radio_info_endc_available" msgid="2983767110681230019">"EN-DC disponible (NSA):"</string>
+    <string name="radio_info_dcnr_restricted" msgid="7147511536420148173">"DCNR amb restriccions (NSA):"</string>
+    <string name="radio_info_nr_available" msgid="3383388088451237182">"NR disponible (NSA):"</string>
+    <string name="radio_info_nr_state" msgid="4158805093187555149">"Estat d\'NR (NSA):"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"Freqüència d\'NR:"</string>
     <string name="band_mode_title" msgid="7988822920724576842">"Configura el mode de banda de senyal mòbil"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"S\'està carregant la llista de bandes…"</string>
diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml
index 926681b..590f311 100644
--- a/res/values-cs/strings.xml
+++ b/res/values-cs/strings.xml
@@ -637,18 +637,8 @@
     <string name="phone_in_ecm_notification_title" msgid="6825016389926367946">"Režim tísňového zpětného volání"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="653972232922670335">"Datové spojení zakázáno"</string>
     <string name="phone_in_ecm_notification_complete_time" msgid="7341624337163082759">"Datové připojení nebude dostupné do <xliff:g id="COMPLETETIME">%s</xliff:g>"</string>
-    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="5425906903766466743">
-      <item quantity="few">]Telefon bude <xliff:g id="COUNT_1">%s</xliff:g> minuty v režimu zpětného tísňového volání. V tomto režimu nelze používat aplikace, které používají datové připojení. Chcete akci teď ukončit?</item>
-      <item quantity="many">]Telefon bude <xliff:g id="COUNT_1">%s</xliff:g> minuty v režimu zpětného tísňového volání. V tomto režimu nelze používat aplikace, které používají datové připojení. Chcete akci teď ukončit?</item>
-      <item quantity="other">]Telefon bude <xliff:g id="COUNT_1">%s</xliff:g> minut v režimu zpětného tísňového volání. V tomto režimu nelze používat aplikace, které používají datové připojení. Chcete akci teď ukončit?</item>
-      <item quantity="one">Telefon bude <xliff:g id="COUNT_0">%s</xliff:g> minutu v režimu zpětného tísňového volání. V tomto režimu nelze používat aplikace, které používají datové připojení. Chcete akci teď ukončit?</item>
-    </plurals>
-    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="1152682528741457004">
-      <item quantity="few">V režimu zpětného tísňového volání vybraná akce není k dispozici. Telefon v tomto režimu bude <xliff:g id="COUNT_1">%s</xliff:g> minuty. Chcete akci teď ukončit?</item>
-      <item quantity="many">V režimu zpětného tísňového volání vybraná akce není k dispozici. Telefon v tomto režimu bude <xliff:g id="COUNT_1">%s</xliff:g> minuty. Chcete akci teď ukončit?</item>
-      <item quantity="other">V režimu zpětného tísňového volání vybraná akce není k dispozici. Telefon v tomto režimu bude <xliff:g id="COUNT_1">%s</xliff:g> minut. Chcete akci teď ukončit?</item>
-      <item quantity="one">V režimu zpětného tísňového volání vybraná akce není k dispozici. Telefon v tomto režimu bude <xliff:g id="COUNT_0">%s</xliff:g> minutu. Chcete akci teď ukončit?</item>
-    </plurals>
+    <!-- format error in translation for alert_dialog_exit_ecm (7661603870224398025) -->
+    <!-- format error in translation for alert_dialog_not_avaialble_in_ecm (8717711120099503279) -->
     <string name="alert_dialog_in_ecm_call" msgid="1207545603149771978">"Během tísňového volání není vybraná akce k dispozici."</string>
     <string name="progress_dialog_exiting_ecm" msgid="9159080081676927217">"Ukončení režimu tísňového zpětného volání"</string>
     <string name="alert_dialog_yes" msgid="3532525979632841417">"Ano"</string>
@@ -656,12 +646,7 @@
     <string name="alert_dialog_dismiss" msgid="1336356286354517054">"Zavřít"</string>
     <string name="phone_in_ecm_call_notification_text_without_data_restriction_hint" msgid="3747860785153531225">"Telefon je v režimu tísňového zpětného volání"</string>
     <string name="phone_in_ecm_notification_complete_time_without_data_restriction_hint" msgid="3690292264812050858">"Do <xliff:g id="COMPLETETIME">%s</xliff:g>"</string>
-    <plurals name="alert_dialog_exit_ecm_without_data_restriction_hint" formatted="false" msgid="6477733043040328640">
-      <item quantity="few">Telefon bude v režimu tísňového zpětného volání po dobu <xliff:g id="COUNT_1">%s</xliff:g> minut.\nChcete tento režim ukončit?</item>
-      <item quantity="many">Telefon bude v režimu tísňového zpětného volání po dobu <xliff:g id="COUNT_1">%s</xliff:g> minuty.\nChcete tento režim ukončit?</item>
-      <item quantity="other">Telefon bude v režimu tísňového zpětného volání po dobu <xliff:g id="COUNT_1">%s</xliff:g> minut.\nChcete tento režim ukončit?</item>
-      <item quantity="one">Telefon bude v režimu tísňového zpětného volání po dobu <xliff:g id="COUNT_0">%s</xliff:g> minuty.\nChcete tento režim ukončit?</item>
-    </plurals>
+    <!-- format error in translation for alert_dialog_exit_ecm_without_data_restriction_hint (7549850847524907932) -->
     <string name="voicemail_provider" msgid="4158806657253745294">"Služba"</string>
     <string name="voicemail_settings" msgid="4451045613238972776">"Konfigurace"</string>
     <string name="voicemail_number_not_set" msgid="8831561283386938155">"&lt;Nenastaveno&gt;"</string>
@@ -689,7 +674,6 @@
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"Přístupnost"</string>
     <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"Hovor přes Wi-Fi:"</string>
     <string name="status_hint_label_wifi_call" msgid="942993035689809853">"Volání přes Wi-Fi"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"Akci provedete opětovným klepnutím"</string>
     <string name="message_decode_error" msgid="1061856591500290887">"Při dekódování zprávy došlo k chybě."</string>
     <string name="callFailed_cdma_activation" msgid="5392057031552253550">"SIM karta aktivovala vaši službu a byly aktualizovány roamingové možnosti telefonu."</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"Máte příliš mnoho aktivních hovorů. Ukončete nebo spojte stávající hovory, než zahájíte nový."</string>
@@ -833,7 +817,7 @@
     <string name="callFailed_already_dialing" msgid="7250591188960691086">"Nemůžete provést hovor, když už se jeden odchozí hovor vytáčí."</string>
     <string name="callFailed_already_ringing" msgid="2376603543544289303">"Nemůžete provést hovor, protože máte nepřijatý příchozí hovor. Přijměte nebo odmítněte příchozí hovor, než provedete nový."</string>
     <string name="callFailed_calling_disabled" msgid="5010992739401206283">"Nemůžete provést hovor, protože volání bylo zakázáno systémovým příkazem ro.telephony.disable-call."</string>
-    <string name="callFailed_too_many_calls" msgid="5379426826618582180">"Nemůžete provést hovor, protože už probíhají dva hovory. Odpojte jeden hovor nebo je slučte do konference, než provedete nový hovor."</string>
+    <string name="callFailed_too_many_calls" msgid="2761754044990799580">"Nemůžete uskutečnit hovor, protože už probíhají dva hovory. Než zahájíte nový hovor, jeden ze stávajících odpojte nebo je slučte do konference."</string>
     <string name="supp_service_over_ut_precautions" msgid="2145018231396701311">"Pokud chcete používat službu <xliff:g id="SUPP_SERVICE">%s</xliff:g>, zkontrolujte, že máte zapnutá mobilní data. Můžete to změnit v nastavení mobilní sítě."</string>
     <string name="supp_service_over_ut_precautions_roaming" msgid="670342104569972327">"Pokud chcete používat službu <xliff:g id="SUPP_SERVICE">%s</xliff:g>, zkontrolujte, že máte zapnutá mobilní data a datový roaming. Můžete to změnit v nastavení mobilní sítě."</string>
     <string name="supp_service_over_ut_precautions_dual_sim" msgid="5166866975550910474">"Pokud chcete používat službu <xliff:g id="SUPP_SERVICE">%1$s</xliff:g>, zkontrolujte, že máte zapnutá mobilní data pro SIM kartu <xliff:g id="SIM_NUMBER">%2$d</xliff:g>. Můžete to změnit v nastavení mobilní sítě."</string>
@@ -851,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"Ke změně nastavení je nutné restartovat zařízení."</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"Restartovat"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"Zrušit"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"Nastavit vyjímatelnou eSIM jako výchozí"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"Výkon mobilního přijímače"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"Zobrazit adresář SIM karty"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"Zobrazit povolená telefonní čísla"</string>
@@ -905,6 +890,7 @@
     <string name="radio_info_band_mode_label" msgid="23480556225515290">"Zvolit pásmo bezdrátového modulu"</string>
     <string name="radio_info_voice_network_type_label" msgid="2395347336419593265">"Typ hlasové sítě:"</string>
     <string name="radio_info_data_network_type_label" msgid="8886597029237501929">"Typ datové sítě:"</string>
+    <string name="radio_info_override_network_type_label" msgid="4176280017221092005">"Přepsat typ sítě:"</string>
     <string name="phone_index_label" msgid="6222406512768964268">"Vybrat telefonní seznam"</string>
     <string name="radio_info_set_perferred_label" msgid="7408131389363136210">"Nastavit upřednostňovaný typ sítě:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="6951237885381284790">"Ping názvu hostitele (www.google.com) IPv4:"</string>
@@ -916,10 +902,10 @@
     <string name="radio_info_smsc_refresh_label" msgid="8409923721451604560">"Obnovit"</string>
     <string name="radio_info_toggle_dns_check_label" msgid="1394078554927787350">"Přepnout kontrolu DNS"</string>
     <string name="oem_radio_info_label" msgid="2914167475119997456">"Informace a nastavení specifické pro výrobce OEM"</string>
-    <string name="radio_info_endc_available" msgid="4410653375290113436">"EN-DC k dispozici:"</string>
-    <string name="radio_info_dcnr_restricted" msgid="2469125498066960807">"DCNR zakázáno:"</string>
-    <string name="radio_info_nr_available" msgid="1321318331361249997">"NR k dispozici:"</string>
-    <string name="radio_info_nr_state" msgid="1337571996788535356">"Stav NR:"</string>
+    <string name="radio_info_endc_available" msgid="2983767110681230019">"EN-DC k dispozici (NSA):"</string>
+    <string name="radio_info_dcnr_restricted" msgid="7147511536420148173">"DCNR – omezeno (NSA):"</string>
+    <string name="radio_info_nr_available" msgid="3383388088451237182">"NR k dispozici (NSA):"</string>
+    <string name="radio_info_nr_state" msgid="4158805093187555149">"Stav NR (NSA):"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"Frekvence NR:"</string>
     <string name="band_mode_title" msgid="7988822920724576842">"Nastavit režim pásma bezdrátového modulu"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"Načítání seznamu pásem…"</string>
diff --git a/res/values-da/strings.xml b/res/values-da/strings.xml
index ecfb98d..8339f6e 100644
--- a/res/values-da/strings.xml
+++ b/res/values-da/strings.xml
@@ -637,14 +637,8 @@
     <string name="phone_in_ecm_notification_title" msgid="6825016389926367946">"Nødtilbagekaldstilstand"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="653972232922670335">"Dataforbindelsen er deaktiveret"</string>
     <string name="phone_in_ecm_notification_complete_time" msgid="7341624337163082759">"Der er ingen dataforbindelse før kl. <xliff:g id="COMPLETETIME">%s</xliff:g>"</string>
-    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="5425906903766466743">
-      <item quantity="one">Telefonen vil være i tilstanden Nødopkald i <xliff:g id="COUNT_1">%s</xliff:g> minutter. Mens denne tilstand er aktiveret, kan du ikke bruge nogen apps, der kræver dataforbindelse. Vil du afslutte denne tilstand nu?</item>
-      <item quantity="other">Telefonen vil være i tilstanden Nødopkald i <xliff:g id="COUNT_1">%s</xliff:g> minutter. Mens denne tilstand er aktiveret, kan du ikke bruge nogen apps, der kræver dataforbindelse. Vil du afslutte denne tilstand nu?</item>
-    </plurals>
-    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="1152682528741457004">
-      <item quantity="one">Den valgte handling er ikke tilgængelig i tilstanden Nødopkald. Telefonen vil være i denne tilstand i <xliff:g id="COUNT_1">%s</xliff:g> minutter. Vil du afslutte denne tilstand nu?</item>
-      <item quantity="other">Den valgte handling er ikke tilgængelig i tilstanden Nødopkald. Telefonen vil være i denne tilstand i <xliff:g id="COUNT_1">%s</xliff:g> minutter. Vil du afslutte denne tilstand nu?</item>
-    </plurals>
+    <!-- format error in translation for alert_dialog_exit_ecm (7661603870224398025) -->
+    <!-- format error in translation for alert_dialog_not_avaialble_in_ecm (8717711120099503279) -->
     <string name="alert_dialog_in_ecm_call" msgid="1207545603149771978">"Den valgte handling er ikke tilgængelig ved nødopkald"</string>
     <string name="progress_dialog_exiting_ecm" msgid="9159080081676927217">"Eksisterende nødtilbagekaldstilstand"</string>
     <string name="alert_dialog_yes" msgid="3532525979632841417">"Ja"</string>
@@ -652,10 +646,7 @@
     <string name="alert_dialog_dismiss" msgid="1336356286354517054">"Luk"</string>
     <string name="phone_in_ecm_call_notification_text_without_data_restriction_hint" msgid="3747860785153531225">"Telefonen er i nødtilbagekaldstilstand"</string>
     <string name="phone_in_ecm_notification_complete_time_without_data_restriction_hint" msgid="3690292264812050858">"Indtil <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">Telefonen er i nødtilbagekaldstilstand i <xliff:g id="COUNT_1">%s</xliff:g> minut.\nVil du lukke nu?</item>
-      <item quantity="other">Telefonen er i nødtilbagekaldstilstand i <xliff:g id="COUNT_1">%s</xliff:g> minutter.\nVil du lukke nu?</item>
-    </plurals>
+    <!-- format error in translation for alert_dialog_exit_ecm_without_data_restriction_hint (7549850847524907932) -->
     <string name="voicemail_provider" msgid="4158806657253745294">"Tjeneste"</string>
     <string name="voicemail_settings" msgid="4451045613238972776">"Konfiguration"</string>
     <string name="voicemail_number_not_set" msgid="8831561283386938155">"&lt;Ikke angivet&gt;"</string>
@@ -683,7 +674,6 @@
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"Hjælpefunktioner"</string>
     <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"Wi-Fi-opkald fra"</string>
     <string name="status_hint_label_wifi_call" msgid="942993035689809853">"Wi-Fi-opkald"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"Tryk igen for at åbne"</string>
     <string name="message_decode_error" msgid="1061856591500290887">"Der opstod en fejl under afkodning af beskeden."</string>
     <string name="callFailed_cdma_activation" msgid="5392057031552253550">"Et SIM-kort har aktiveret din tjeneste og opdateret telefonens roamingmuligheder."</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"Der er for mange aktive opkald. Afslut et opkald, eller flet eksisterende opkald, inden du foretager et nyt."</string>
@@ -827,7 +817,7 @@
     <string name="callFailed_already_dialing" msgid="7250591188960691086">"Der kan ikke foretages et opkald, fordi et udgående opkald allerede ringer."</string>
     <string name="callFailed_already_ringing" msgid="2376603543544289303">"Der kan ikke foretages et opkald, fordi et indgående opkald ringer. Besvar eller afvis det indgående opkald, før du foretager et nyt opkald."</string>
     <string name="callFailed_calling_disabled" msgid="5010992739401206283">"Der kan ikke foretages et opkald, fordi foretagelse af opkald er blevet deaktiveret ved hjælp af systemegenskaben ro.telephony.disable-call."</string>
-    <string name="callFailed_too_many_calls" msgid="5379426826618582180">"Der kan ikke foretages et opkald, fordi der allerede er to igangværende opkald. Afslut et af opkaldene, eller flet dem til et konferenceopkald, før du foretager et nyt opkald."</string>
+    <string name="callFailed_too_many_calls" msgid="2761754044990799580">"Der kan ikke foretages et opkald, fordi der allerede er to igangværende opkald. Afslut et af opkaldene, eller flet dem til et telefonmøde, før du foretager et nyt opkald."</string>
     <string name="supp_service_over_ut_precautions" msgid="2145018231396701311">"Hvis du vil bruge <xliff:g id="SUPP_SERVICE">%s</xliff:g>, skal du sørge for, at mobildata er slået til. Du kan ændre dette under indstillingerne for mobilnetværk."</string>
     <string name="supp_service_over_ut_precautions_roaming" msgid="670342104569972327">"Hvis du vil bruge <xliff:g id="SUPP_SERVICE">%s</xliff:g>, skal du sørge for, at mobildata og dataroaming er slået til. Du kan ændre dette under indstillingerne for mobilnetværk."</string>
     <string name="supp_service_over_ut_precautions_dual_sim" msgid="5166866975550910474">"Hvis du vil bruge <xliff:g id="SUPP_SERVICE">%1$s</xliff:g>, skal du sørge for, at mobildata er slået til for SIM-kortet <xliff:g id="SIM_NUMBER">%2$d</xliff:g>. Du kan ændre dette under indstillingerne for mobilnetværk."</string>
@@ -845,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"Genstart enheden for at skifte indstilling."</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"Genstart"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"Annuller"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"Konfigurer eSIM, der kan fjernes, som standard"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"Mobilsendestyrke"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"Vis adressebog på SIM-kortet"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"Vis numre til begrænset opkald"</string>
@@ -899,6 +890,7 @@
     <string name="radio_info_band_mode_label" msgid="23480556225515290">"Vælg radiobånd"</string>
     <string name="radio_info_voice_network_type_label" msgid="2395347336419593265">"Talenetværkstype:"</string>
     <string name="radio_info_data_network_type_label" msgid="8886597029237501929">"Datanetværkstype:"</string>
+    <string name="radio_info_override_network_type_label" msgid="4176280017221092005">"Overskriv netværkstype:"</string>
     <string name="phone_index_label" msgid="6222406512768964268">"Vælg telefonindeks"</string>
     <string name="radio_info_set_perferred_label" msgid="7408131389363136210">"Angiv den foretrukne netværkstype:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="6951237885381284790">"Ping værtsnavn (www.google.com) IPv4:"</string>
@@ -910,10 +902,10 @@
     <string name="radio_info_smsc_refresh_label" msgid="8409923721451604560">"Opdater"</string>
     <string name="radio_info_toggle_dns_check_label" msgid="1394078554927787350">"Skift DNS-kontrol"</string>
     <string name="oem_radio_info_label" msgid="2914167475119997456">"OEM-specifikke oplysninger/indstillinger"</string>
-    <string name="radio_info_endc_available" msgid="4410653375290113436">"Tilgængelig for EN-DC:"</string>
-    <string name="radio_info_dcnr_restricted" msgid="2469125498066960807">"Begrænset til DCNR"</string>
-    <string name="radio_info_nr_available" msgid="1321318331361249997">"Tilgængelig for NR:"</string>
-    <string name="radio_info_nr_state" msgid="1337571996788535356">"Status for NR:"</string>
+    <string name="radio_info_endc_available" msgid="2983767110681230019">"Tilgængelig for EN-DC (NSA):"</string>
+    <string name="radio_info_dcnr_restricted" msgid="7147511536420148173">"Begrænset til DCNR (NSA):"</string>
+    <string name="radio_info_nr_available" msgid="3383388088451237182">"Tilgængelig for NR (NSA):"</string>
+    <string name="radio_info_nr_state" msgid="4158805093187555149">"Status for NR (NSA):"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"Frekvens for NR:"</string>
     <string name="band_mode_title" msgid="7988822920724576842">"Konfigurer radiobåndstilstand"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"Indlæser båndliste…"</string>
diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml
index 147ac60..c266874 100644
--- a/res/values-de/strings.xml
+++ b/res/values-de/strings.xml
@@ -637,14 +637,8 @@
     <string name="phone_in_ecm_notification_title" msgid="6825016389926367946">"Notfallrückrufmodus"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="653972232922670335">"Datenverbindung deaktiviert"</string>
     <string name="phone_in_ecm_notification_complete_time" msgid="7341624337163082759">"Keine Datenverbindung bis <xliff:g id="COMPLETETIME">%s</xliff:g>"</string>
-    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="5425906903766466743">
-      <item quantity="other">Das Smartphone wird <xliff:g id="COUNT_1">%s</xliff:g> Minuten lang in den Notfallrückrufmodus versetzt. In dieser Zeit können Apps mit Datenverbindung nicht genutzt werden. Möchtest du den Vorgang jetzt abbrechen?</item>
-      <item quantity="one">Das Smartphone wird <xliff:g id="COUNT_0">%s</xliff:g> Minute lang in den Notfallrückrufmodus versetzt. In dieser Zeit können Apps mit Datenverbindung nicht genutzt werden. Möchtest du den Vorgang jetzt abbrechen?</item>
-    </plurals>
-    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="1152682528741457004">
-      <item quantity="other">Die ausgewählte Aktion ist im Notfallrückrufmodus nicht verfügbar. Das Smartphone ist <xliff:g id="COUNT_1">%s</xliff:g> Minuten lang in diesem Modus. Möchtest du den Vorgang jetzt abbrechen?</item>
-      <item quantity="one">Die ausgewählte Aktion ist im Notfallrückrufmodus nicht verfügbar. Das Smartphone ist <xliff:g id="COUNT_0">%s</xliff:g> Minute lang in diesem Modus. Möchtest du den Vorgang jetzt abbrechen?</item>
-    </plurals>
+    <string name="alert_dialog_exit_ecm" msgid="7661603870224398025">"{count,plural, =1{Das Smartphone bleibt 1 Minute im Notfallrückrufmodus. In diesem Modus können keine Apps verwendet werden, die eine Datenverbindung erfordern. Möchtest du den Vorgang jetzt beenden?}other{Das Smartphone bleibt %s Minuten im Notfallrückrufmodus. In diesem Modus können keine Apps verwendet werden, die eine Datenverbindung erfordern. Möchtest du den Vorgang jetzt beenden?}}"</string>
+    <string name="alert_dialog_not_avaialble_in_ecm" msgid="8717711120099503279">"{count,plural, =1{Die ausgewählte Aktion ist im Notfallrückrufmodus nicht verfügbar. Das Telefon bleibt 1 Minute in diesem Modus. Möchtest du den Vorgang jetzt beenden?}other{Die ausgewählte Aktion ist im Notfallrückrufmodus nicht verfügbar. Das Telefon bleibt %s Minuten in diesem Modus. Möchtest du den Vorgang jetzt beenden?}}"</string>
     <string name="alert_dialog_in_ecm_call" msgid="1207545603149771978">"Die ausgewählte Aktion ist während eines Notrufs nicht verfügbar."</string>
     <string name="progress_dialog_exiting_ecm" msgid="9159080081676927217">"Notfallrückrufmodus wird beendet..."</string>
     <string name="alert_dialog_yes" msgid="3532525979632841417">"Ja"</string>
@@ -652,10 +646,7 @@
     <string name="alert_dialog_dismiss" msgid="1336356286354517054">"Verwerfen"</string>
     <string name="phone_in_ecm_call_notification_text_without_data_restriction_hint" msgid="3747860785153531225">"Das Smartphone ist im Notfallrückrufmodus"</string>
     <string name="phone_in_ecm_notification_complete_time_without_data_restriction_hint" msgid="3690292264812050858">"Bis <xliff:g id="COMPLETETIME">%s</xliff:g>"</string>
-    <plurals name="alert_dialog_exit_ecm_without_data_restriction_hint" formatted="false" msgid="6477733043040328640">
-      <item quantity="other">Das Smartphone bleibt <xliff:g id="COUNT_1">%s</xliff:g> Minuten im Notfallrückrufmodus.\nMöchtest du den Vorgang jetzt beenden?</item>
-      <item quantity="one">Das Smartphone bleibt <xliff:g id="COUNT_0">%s</xliff:g> Minute im Notfallrückrufmodus.\nMöchtest du den Vorgang jetzt beenden?</item>
-    </plurals>
+    <string name="alert_dialog_exit_ecm_without_data_restriction_hint" msgid="7549850847524907932">"{count,plural, =1{Das Smartphone bleibt 1 Minute im Notfallrückrufmodus.\nMöchtest du den Vorgang jetzt beenden?}other{Das Smartphone bleibt %s Minuten im Notfallrückrufmodus.\nMöchtest du den Vorgang jetzt beenden?}}"</string>
     <string name="voicemail_provider" msgid="4158806657253745294">"Dienst"</string>
     <string name="voicemail_settings" msgid="4451045613238972776">"Einrichtung"</string>
     <string name="voicemail_number_not_set" msgid="8831561283386938155">"&lt;Nicht festgelegt&gt;"</string>
@@ -683,7 +674,6 @@
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"Bedienungshilfen"</string>
     <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"WLAN-Anruf von"</string>
     <string name="status_hint_label_wifi_call" msgid="942993035689809853">"WLAN-Anruf"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"Zum Öffnen erneut tippen"</string>
     <string name="message_decode_error" msgid="1061856591500290887">"Beim Entschlüsseln der Nachricht ist ein Fehler aufgetreten."</string>
     <string name="callFailed_cdma_activation" msgid="5392057031552253550">"Eine SIM-Karte hat deinen Dienst aktiviert und die Roamingfunktionen deines Smartphones aktualisiert."</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"Zu viele aktive Anrufe. Beende aktive Anrufe oder führe sie zusammen, bevor du einen neuen Anruf tätigst."</string>
@@ -827,7 +817,7 @@
     <string name="callFailed_already_dialing" msgid="7250591188960691086">"Anruf nicht möglich, da bereits ein anderer ausgehender Anruf aufgebaut wird."</string>
     <string name="callFailed_already_ringing" msgid="2376603543544289303">"Anruf nicht möglich, da ein nicht angenommener eingehender Anruf vorhanden ist. Nimm den eingehenden Anruf an oder lehne ihn ab, bevor du einen neuen Anruf startest."</string>
     <string name="callFailed_calling_disabled" msgid="5010992739401206283">"Anruf nicht möglich, weil Anrufe über die Systemeigenschaft \"ro.telephony.disable-call\" deaktiviert wurden."</string>
-    <string name="callFailed_too_many_calls" msgid="5379426826618582180">"Anruf nicht möglich, weil bereits zwei Anrufe aktiv sind. Beenden einen der Anrufe oder führe beide Anrufe in einer Telefonkonferenz zusammen, bevor du einen neuen Anruf startest."</string>
+    <string name="callFailed_too_many_calls" msgid="2761754044990799580">"Anruf nicht möglich, weil bereits zwei Anrufe aktiv sind. Beende einen der Anrufe oder führe beide Anrufe in einer Telefonkonferenz zusammen, bevor du einen neuen Anruf startest."</string>
     <string name="supp_service_over_ut_precautions" msgid="2145018231396701311">"Damit du <xliff:g id="SUPP_SERVICE">%s</xliff:g> nutzen kannst, müssen mobile Daten aktiviert sein. Du kannst dies in den Einstellungen für das Mobilfunknetz ändern."</string>
     <string name="supp_service_over_ut_precautions_roaming" msgid="670342104569972327">"Damit du <xliff:g id="SUPP_SERVICE">%s</xliff:g> nutzen kannst, müssen mobile Daten und Daten-Roaming aktiviert sein. Du kannst dies in den Einstellungen für das Mobilfunknetz ändern."</string>
     <string name="supp_service_over_ut_precautions_dual_sim" msgid="5166866975550910474">"Damit du <xliff:g id="SUPP_SERVICE">%1$s</xliff:g> nutzen kannst, müssen mobile Daten für SIM <xliff:g id="SIM_NUMBER">%2$d</xliff:g> aktiviert sein. Du kannst dies in den Einstellungen für das Mobilfunknetz ändern."</string>
@@ -845,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"Die Änderung erfordert einen Neustart des Geräts."</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"Neu starten"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"Abbrechen"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"Wechsel-eSIM als Standard festlegen"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"Mobilfunkstärke"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"SIM-Adressbuch anzeigen"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"Rufnummernbeschränkung ansehen"</string>
@@ -899,6 +890,7 @@
     <string name="radio_info_band_mode_label" msgid="23480556225515290">"Frequenzbereich auswählen"</string>
     <string name="radio_info_voice_network_type_label" msgid="2395347336419593265">"Sprachnetzwerktyp:"</string>
     <string name="radio_info_data_network_type_label" msgid="8886597029237501929">"Datennetzwerktyp:"</string>
+    <string name="radio_info_override_network_type_label" msgid="4176280017221092005">"Netzwerktyp überschreiben:"</string>
     <string name="phone_index_label" msgid="6222406512768964268">"Smartphone-Index auswählen"</string>
     <string name="radio_info_set_perferred_label" msgid="7408131389363136210">"Bevorzugten Netzwerktyp festlegen:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="6951237885381284790">"Hostname (www.google.com) pingen, IPv4:"</string>
@@ -910,10 +902,10 @@
     <string name="radio_info_smsc_refresh_label" msgid="8409923721451604560">"Aktualisieren"</string>
     <string name="radio_info_toggle_dns_check_label" msgid="1394078554927787350">"DNS-Überprüfung ein-/ausschalten"</string>
     <string name="oem_radio_info_label" msgid="2914167475119997456">"OEM-spezifische Infos/Einstellungen"</string>
-    <string name="radio_info_endc_available" msgid="4410653375290113436">"EN-DC verfügbar:"</string>
-    <string name="radio_info_dcnr_restricted" msgid="2469125498066960807">"DCNR eingeschränkt:"</string>
-    <string name="radio_info_nr_available" msgid="1321318331361249997">"NR verfügbar:"</string>
-    <string name="radio_info_nr_state" msgid="1337571996788535356">"NR-Status:"</string>
+    <string name="radio_info_endc_available" msgid="2983767110681230019">"EN-DC verfügbar (NSA):"</string>
+    <string name="radio_info_dcnr_restricted" msgid="7147511536420148173">"DCNR eingeschränkt (NSA):"</string>
+    <string name="radio_info_nr_available" msgid="3383388088451237182">"NR verfügbar (NSA):"</string>
+    <string name="radio_info_nr_state" msgid="4158805093187555149">"NR-Status (NSA):"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR-Frequenz:"</string>
     <string name="band_mode_title" msgid="7988822920724576842">"Frequenzbereichmodus festlegen"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"Frequenzliste wird geladen…"</string>
diff --git a/res/values-el/strings.xml b/res/values-el/strings.xml
index 1c88d8e..40a39c2 100644
--- a/res/values-el/strings.xml
+++ b/res/values-el/strings.xml
@@ -637,14 +637,8 @@
     <string name="phone_in_ecm_notification_title" msgid="6825016389926367946">"Λειτουργία επιστροφής κλήσης έκτακτης ανάγκης"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="653972232922670335">"Απενεργοποιήθηκε η σύνδεση δεδομένων"</string>
     <string name="phone_in_ecm_notification_complete_time" msgid="7341624337163082759">"Χωρίς σύνδεση δεδομένων έως <xliff:g id="COMPLETETIME">%s</xliff:g>"</string>
-    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="5425906903766466743">
-      <item quantity="other">Το τηλέφωνο θα βρίσκεται σε κατάσταση \"Επείγουσας επιστροφής κλήσης\" για <xliff:g id="COUNT_1">%s</xliff:g> λεπτά. Σε αυτήν την κατάσταση, δεν είναι δυνατή η χρήση εφαρμογών που χρησιμοποιούν σύνδεση δεδομένων. Θέλετε να εξέλθετε τώρα;</item>
-      <item quantity="one">Το τηλέφωνο θα βρίσκεται σε κατάσταση \"Επείγουσας επιστροφής κλήσης\" για <xliff:g id="COUNT_0">%s</xliff:g> λεπτό. Σε αυτήν την κατάσταση, δεν είναι δυνατή η χρήση εφαρμογών που χρησιμοποιούν σύνδεση δεδομένων. Θέλετε να εξέλθετε τώρα;</item>
-    </plurals>
-    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="1152682528741457004">
-      <item quantity="other">Η επιλεγμένη ενέργεια δεν είναι διαθέσιμη όταν η συσκευή βρίσκεται σε κατάσταση \"Επείγουσας επιστροφής κλήσης\". Το τηλέφωνο θα βρίσκεται σε αυτήν την κατάσταση για <xliff:g id="COUNT_1">%s</xliff:g> λεπτά. Θέλετε να εξέλθετε τώρα;</item>
-      <item quantity="one">Η επιλεγμένη ενέργεια δεν είναι διαθέσιμη όταν η συσκευή βρίσκεται σε κατάσταση \"Επείγουσας επιστροφής κλήσης\". Το τηλέφωνο θα βρίσκεται σε αυτήν την κατάσταση για <xliff:g id="COUNT_0">%s</xliff:g> λεπτό. Θέλετε να εξέλθετε τώρα;</item>
-    </plurals>
+    <string name="alert_dialog_exit_ecm" msgid="7661603870224398025">"{count,plural, =1{Το τηλέφωνο θα βρίσκεται στη λειτουργία επιστροφής κλήσης έκτακτης ανάγκης για ένα λεπτό. Όσο βρίσκεται σε αυτήν τη λειτουργία, δεν θα μπορούν να χρησιμοποιηθούν εφαρμογές με σύνδεση δεδομένων. Επιθυμείτε έξοδο τώρα;}other{Το τηλέφωνο βρίσκεται στη λειτουργία επιστροφής κλήσης έκτακτης ανάγκης για %s λεπτά. Όσο βρίσκεται σε αυτήν τη λειτουργία, δεν θα μπορούν να χρησιμοποιηθούν εφαρμογές με σύνδεση δεδομένων. Επιθυμείτε έξοδο τώρα;}}"</string>
+    <string name="alert_dialog_not_avaialble_in_ecm" msgid="8717711120099503279">"{count,plural, =1{Η επιλεγμένη ενέργεια δεν είναι διαθέσιμη σε λειτουργία επιστροφής κλήσης έκτακτης ανάγκης. Το τηλέφωνο θα βρίσκεται σε αυτήν τη λειτουργία για ένα λεπτό. Επιθυμείτε έξοδο τώρα;}other{Η επιλεγμένη ενέργεια δεν είναι διαθέσιμη στη λειτουργία επιστροφής κλήσης έκτακτης ανάγκης. Το τηλέφωνο θα βρίσκεται σε αυτήν τη λειτουργία για %s λεπτά. Επιθυμείτε έξοδο τώρα;}}"</string>
     <string name="alert_dialog_in_ecm_call" msgid="1207545603149771978">"Η επιλεγμένη ενέργεια δεν είναι διαθέσιμη κατά τη διάρκεια κλήσης επείγουσας ανάγκης."</string>
     <string name="progress_dialog_exiting_ecm" msgid="9159080081676927217">"Έξοδος από τη λειτουργία επιστροφής κλήσης έκτακτης ανάγκης"</string>
     <string name="alert_dialog_yes" msgid="3532525979632841417">"Ναι"</string>
@@ -652,10 +646,7 @@
     <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">
-      <item quantity="other">Το τηλέφωνο θα βρίσκεται σε λειτουργία επιστροφής κλήσης έκτακτης ανάγκης για <xliff:g id="COUNT_1">%s</xliff:g> λεπτά.\nΕπιθυμείτε έξοδο τώρα;</item>
-      <item quantity="one">Το τηλέφωνο θα βρίσκεται σε λειτουργία επιστροφής κλήσης έκτακτης ανάγκης για <xliff:g id="COUNT_0">%s</xliff:g> λεπτό.\nΕπιθυμείτε έξοδο τώρα;</item>
-    </plurals>
+    <string name="alert_dialog_exit_ecm_without_data_restriction_hint" msgid="7549850847524907932">"{count,plural, =1{Το τηλέφωνο θα βρίσκεται σε λειτουργία επιστροφής κλήσης έκτακτης ανάγκης για ένα λεπτό.\nΕπιθυμείτε έξοδο τώρα;}other{Το τηλέφωνο θα βρίσκεται σε λειτουργία επιστροφής κλήσης έκτακτης ανάγκης για %s λεπτά.\nΕπιθυμείτε έξοδο τώρα;}}"</string>
     <string name="voicemail_provider" msgid="4158806657253745294">"Υπηρεσία"</string>
     <string name="voicemail_settings" msgid="4451045613238972776">"Ρυθμίσεις"</string>
     <string name="voicemail_number_not_set" msgid="8831561283386938155">"&lt;Δεν έχει οριστεί&gt;"</string>
@@ -683,7 +674,6 @@
     <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="callFailed_cdma_activation" msgid="5392057031552253550">"Μια κάρτα SIM ενεργοποίησε την υπηρεσία σας και ενημέρωσε τις δυνατότητες περιαγωγής του τηλεφώνου σας."</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"Υπάρχουν πάρα πολλές ενεργές κλήσεις. Τερματίστε ή να συγχωνεύστε τις υπάρχουσες κλήσεις πριν πραγματοποιήσετε νέα."</string>
@@ -827,7 +817,7 @@
     <string name="callFailed_already_dialing" msgid="7250591188960691086">"Δεν είναι δυνατή η πραγματοποίηση της κλήσης, επειδή βρίσκεται ήδη σε εξέλιξη εξερχόμενη κλήση."</string>
     <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="callFailed_too_many_calls" msgid="2761754044990799580">"Δεν είναι δυνατή η πραγματοποίηση κλήσης, επειδή υπάρχουν ήδη δύο κλήσεις σε εξέλιξη. Αποσυνδέστε μια από τις κλήσεις ή συγχωνεύστε τες σε μια συνδιάσκεψη, προτού πραγματοποιήσετε μια νέα κλήση."</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>\", βεβαιωθείτε ότι τα δεδομένα κινητής τηλεφωνίας είναι ενεργοποιημένα για τη SIM <xliff:g id="SIM_NUMBER">%2$d</xliff:g>. Μπορείτε να το αλλάξετε αυτό από τις ρυθμίσεις δικτύου κινητής τηλεφωνίας."</string>
@@ -845,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"Πρέπει να επανεκκινηθεί η συσκευή για να αλλάξει η ρύθμιση."</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"Επανεκκίνηση"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"Ακύρωση"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"Ορισμός αφαιρούμενης eSIM ως προεπιλεγμένης"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"Ισχύς πομπού κινητής τηλεφωνίας"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"Προβολή βιβλίου διευθύνσεων κάρτας SIM"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"Προβολή προκαθορισμένων αριθμών κλήσης"</string>
@@ -899,6 +890,7 @@
     <string name="radio_info_band_mode_label" msgid="23480556225515290">"Επιλογή ζώνης συχνοτήτων πομπού"</string>
     <string name="radio_info_voice_network_type_label" msgid="2395347336419593265">"Τύπος δικτύου φωνής:"</string>
     <string name="radio_info_data_network_type_label" msgid="8886597029237501929">"Τύπος δικτύου δεδομένων:"</string>
+    <string name="radio_info_override_network_type_label" msgid="4176280017221092005">"Παράκαμψη τύπου δικτύου:"</string>
     <string name="phone_index_label" msgid="6222406512768964268">"Επιλογή ευρετηρίου τηλεφώνου"</string>
     <string name="radio_info_set_perferred_label" msgid="7408131389363136210">"Ορισμός προτιμώμενου τύπου δικτύου:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="6951237885381284790">"Όνομα κεντρικού υπολογιστή Ping (www.google.com) IPv4:"</string>
@@ -910,10 +902,10 @@
     <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>
-    <string name="radio_info_dcnr_restricted" msgid="2469125498066960807">"DCNR με περιορισμό:"</string>
-    <string name="radio_info_nr_available" msgid="1321318331361249997">"NR διαθέσιμο:"</string>
-    <string name="radio_info_nr_state" msgid="1337571996788535356">"Κατάσταση NR:"</string>
+    <string name="radio_info_endc_available" msgid="2983767110681230019">"EN-DC διαθέσιμο (NSA):"</string>
+    <string name="radio_info_dcnr_restricted" msgid="7147511536420148173">"DCNR με περιορισμούς (NSA):"</string>
+    <string name="radio_info_nr_available" msgid="3383388088451237182">"NR διαθέσιμο (NSA):"</string>
+    <string name="radio_info_nr_state" msgid="4158805093187555149">"Κατάσταση NR (NSA):"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"Συχνότητα NR:"</string>
     <string name="band_mode_title" msgid="7988822920724576842">"Ρύθμιση λειτουργίας ζώνης συχνοτήτων πομπού"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"Φόρτωση λίστας ζωνών…"</string>
diff --git a/res/values-en-rAU/strings.xml b/res/values-en-rAU/strings.xml
index 35999b8..eebbbb3 100644
--- a/res/values-en-rAU/strings.xml
+++ b/res/values-en-rAU/strings.xml
@@ -637,14 +637,8 @@
     <string name="phone_in_ecm_notification_title" msgid="6825016389926367946">"Emergency Callback Mode"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="653972232922670335">"Data connection disabled"</string>
     <string name="phone_in_ecm_notification_complete_time" msgid="7341624337163082759">"No data connection until <xliff:g id="COMPLETETIME">%s</xliff:g>"</string>
-    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="5425906903766466743">
-      <item quantity="other">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="one">The phone will be in Emergency Callback mode for <xliff:g id="COUNT_0">%s</xliff:g> minute. While in this mode no apps using a data connection can be used. Do you want to exit now?</item>
-    </plurals>
-    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="1152682528741457004">
-      <item quantity="other">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="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_0">%s</xliff:g> minute. Do you want to exit now?</item>
-    </plurals>
+    <string name="alert_dialog_exit_ecm" msgid="7661603870224398025">"{count,plural, =1{The phone will be in emergency callback mode for one minute. While in this mode, no apps using a data connection can be used. Do you want to exit now?}other{The phone will be in emergency callback mode for %s minutes. While in this mode, no applications using a data connection can be used. Do you want to exit now?}}"</string>
+    <string name="alert_dialog_not_avaialble_in_ecm" msgid="8717711120099503279">"{count,plural, =1{The selected action isn\'t available while in the emergency callback mode. The phone will be in this mode for one minute. Do you want to exit now?}other{The selected action isn\'t available while in the emergency callback mode. The phone will be in this mode for %s minutes. Do you want to exit now?}}"</string>
     <string name="alert_dialog_in_ecm_call" msgid="1207545603149771978">"The action selected isn\'t available during an emergency call."</string>
     <string name="progress_dialog_exiting_ecm" msgid="9159080081676927217">"Exiting Emergency Callback mode"</string>
     <string name="alert_dialog_yes" msgid="3532525979632841417">"Yes"</string>
@@ -652,10 +646,7 @@
     <string name="alert_dialog_dismiss" msgid="1336356286354517054">"Dismiss"</string>
     <string name="phone_in_ecm_call_notification_text_without_data_restriction_hint" msgid="3747860785153531225">"The phone is in emergency callback mode"</string>
     <string name="phone_in_ecm_notification_complete_time_without_data_restriction_hint" msgid="3690292264812050858">"Until <xliff:g id="COMPLETETIME">%s</xliff:g>"</string>
-    <plurals name="alert_dialog_exit_ecm_without_data_restriction_hint" formatted="false" msgid="6477733043040328640">
-      <item quantity="other">The phone will be in emergency callback mode for <xliff:g id="COUNT_1">%s</xliff:g> minutes.\nDo you want to exit now?</item>
-      <item quantity="one">The phone will be in emergency callback mode for <xliff:g id="COUNT_0">%s</xliff:g> minute.\nDo you want to exit now?</item>
-    </plurals>
+    <string name="alert_dialog_exit_ecm_without_data_restriction_hint" msgid="7549850847524907932">"{count,plural, =1{The phone will be in emergency callback mode for one minute.\nDo you want to exit now?}other{The phone will be in emergency callback mode for %s minutes.\nDo you want to exit now?}}"</string>
     <string name="voicemail_provider" msgid="4158806657253745294">"Service"</string>
     <string name="voicemail_settings" msgid="4451045613238972776">"Setup"</string>
     <string name="voicemail_number_not_set" msgid="8831561283386938155">"&lt;Not set&gt;"</string>
@@ -683,7 +674,6 @@
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"Accessibility"</string>
     <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"Wi-Fi call from"</string>
     <string name="status_hint_label_wifi_call" msgid="942993035689809853">"Wi-Fi call"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"Tap again to open"</string>
     <string name="message_decode_error" msgid="1061856591500290887">"There was an error while decoding the message."</string>
     <string name="callFailed_cdma_activation" msgid="5392057031552253550">"A SIM card has activated your service and updated your phone\'s roaming capabilities."</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"There are too many active calls. Please end or merge existing calls before placing a new one."</string>
@@ -827,7 +817,7 @@
     <string name="callFailed_already_dialing" msgid="7250591188960691086">"Cannot place a call as another outgoing call is already dialling."</string>
     <string name="callFailed_already_ringing" msgid="2376603543544289303">"Cannot place a call as there is an unanswered incoming call. Answer or reject the incoming call prior to placing a new call."</string>
     <string name="callFailed_calling_disabled" msgid="5010992739401206283">"Cannot place a call as calling has been disabled using the ro.telephony.disable-call system property."</string>
-    <string name="callFailed_too_many_calls" msgid="5379426826618582180">"Cannot place a call a there are already two calls in progress. Disconnect one of the calls or merge them into a conference prior to placing a new call."</string>
+    <string name="callFailed_too_many_calls" msgid="2761754044990799580">"Cannot place a call as there are already two calls in progress. Disconnect one of the calls or merge them into a conference prior to placing a new call."</string>
     <string name="supp_service_over_ut_precautions" msgid="2145018231396701311">"To use <xliff:g id="SUPP_SERVICE">%s</xliff:g>, make sure that mobile data is turned on. You can change this in mobile network settings."</string>
     <string name="supp_service_over_ut_precautions_roaming" msgid="670342104569972327">"To use <xliff:g id="SUPP_SERVICE">%s</xliff:g>, make sure that mobile data and data roaming are turned on. You can change these in mobile network settings."</string>
     <string name="supp_service_over_ut_precautions_dual_sim" msgid="5166866975550910474">"To use <xliff:g id="SUPP_SERVICE">%1$s</xliff:g>, make sure that mobile data is turned on for SIM <xliff:g id="SIM_NUMBER">%2$d</xliff:g>. You can change this in mobile network settings."</string>
@@ -845,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"You need to restart your device to change this setting."</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"Restart"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"Cancel"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"Set removable eSIM as default"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"Mobile radio power"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"View SIM address book"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"View fixed dialling numbers"</string>
@@ -899,6 +890,7 @@
     <string name="radio_info_band_mode_label" msgid="23480556225515290">"Select radio band"</string>
     <string name="radio_info_voice_network_type_label" msgid="2395347336419593265">"Voice network type:"</string>
     <string name="radio_info_data_network_type_label" msgid="8886597029237501929">"Data network type:"</string>
+    <string name="radio_info_override_network_type_label" msgid="4176280017221092005">"Override network type:"</string>
     <string name="phone_index_label" msgid="6222406512768964268">"Select phone index"</string>
     <string name="radio_info_set_perferred_label" msgid="7408131389363136210">"Set preferred network type:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="6951237885381284790">"Ping hostname(www.google.com) IPv4:"</string>
@@ -910,10 +902,10 @@
     <string name="radio_info_smsc_refresh_label" msgid="8409923721451604560">"Refresh"</string>
     <string name="radio_info_toggle_dns_check_label" msgid="1394078554927787350">"Toggle DNS check"</string>
     <string name="oem_radio_info_label" msgid="2914167475119997456">"OEM-specific info/settings"</string>
-    <string name="radio_info_endc_available" msgid="4410653375290113436">"EN-DC available:"</string>
-    <string name="radio_info_dcnr_restricted" msgid="2469125498066960807">"DCNR restricted:"</string>
-    <string name="radio_info_nr_available" msgid="1321318331361249997">"NR available:"</string>
-    <string name="radio_info_nr_state" msgid="1337571996788535356">"NR status:"</string>
+    <string name="radio_info_endc_available" msgid="2983767110681230019">"EN-DC available (NSA):"</string>
+    <string name="radio_info_dcnr_restricted" msgid="7147511536420148173">"DCNR restricted (NSA):"</string>
+    <string name="radio_info_nr_available" msgid="3383388088451237182">"NR available (NSA):"</string>
+    <string name="radio_info_nr_state" msgid="4158805093187555149">"NR state (NSA):"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR frequency:"</string>
     <string name="band_mode_title" msgid="7988822920724576842">"Set radio band mode"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"Loading band list…"</string>
diff --git a/res/values-en-rCA/strings.xml b/res/values-en-rCA/strings.xml
index deaee55..9b60e1b 100644
--- a/res/values-en-rCA/strings.xml
+++ b/res/values-en-rCA/strings.xml
@@ -637,14 +637,8 @@
     <string name="phone_in_ecm_notification_title" msgid="6825016389926367946">"Emergency Callback Mode"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="653972232922670335">"Data connection disabled"</string>
     <string name="phone_in_ecm_notification_complete_time" msgid="7341624337163082759">"No data connection until <xliff:g id="COMPLETETIME">%s</xliff:g>"</string>
-    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="5425906903766466743">
-      <item quantity="other">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="one">The phone will be in Emergency Callback mode for <xliff:g id="COUNT_0">%s</xliff:g> minute. While in this mode no apps using a data connection can be used. Do you want to exit now?</item>
-    </plurals>
-    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="1152682528741457004">
-      <item quantity="other">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="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_0">%s</xliff:g> minute. Do you want to exit now?</item>
-    </plurals>
+    <string name="alert_dialog_exit_ecm" msgid="7661603870224398025">"{count,plural, =1{The phone will be in emergency callback mode for one minute. While in this mode, no apps using a data connection can be used. Do you want to exit now?}other{The phone will be in emergency callback mode for %s minutes. While in this mode, no applications using a data connection can be used. Do you want to exit now?}}"</string>
+    <string name="alert_dialog_not_avaialble_in_ecm" msgid="8717711120099503279">"{count,plural, =1{The selected action isn\'t available while in the emergency callback mode. The phone will be in this mode for one minute. Do you want to exit now?}other{The selected action isn\'t available while in the emergency callback mode. The phone will be in this mode for %s minutes. Do you want to exit now?}}"</string>
     <string name="alert_dialog_in_ecm_call" msgid="1207545603149771978">"The action selected isn\'t available during an emergency call."</string>
     <string name="progress_dialog_exiting_ecm" msgid="9159080081676927217">"Exiting Emergency Callback mode"</string>
     <string name="alert_dialog_yes" msgid="3532525979632841417">"Yes"</string>
@@ -652,10 +646,7 @@
     <string name="alert_dialog_dismiss" msgid="1336356286354517054">"Dismiss"</string>
     <string name="phone_in_ecm_call_notification_text_without_data_restriction_hint" msgid="3747860785153531225">"The phone is in emergency callback mode"</string>
     <string name="phone_in_ecm_notification_complete_time_without_data_restriction_hint" msgid="3690292264812050858">"Until <xliff:g id="COMPLETETIME">%s</xliff:g>"</string>
-    <plurals name="alert_dialog_exit_ecm_without_data_restriction_hint" formatted="false" msgid="6477733043040328640">
-      <item quantity="other">The phone will be in emergency callback mode for <xliff:g id="COUNT_1">%s</xliff:g> minutes.\nDo you want to exit now?</item>
-      <item quantity="one">The phone will be in emergency callback mode for <xliff:g id="COUNT_0">%s</xliff:g> minute.\nDo you want to exit now?</item>
-    </plurals>
+    <string name="alert_dialog_exit_ecm_without_data_restriction_hint" msgid="7549850847524907932">"{count,plural, =1{The phone will be in emergency callback mode for one minute.\nDo you want to exit now?}other{The phone will be in emergency callback mode for %s minutes.\nDo you want to exit now?}}"</string>
     <string name="voicemail_provider" msgid="4158806657253745294">"Service"</string>
     <string name="voicemail_settings" msgid="4451045613238972776">"Setup"</string>
     <string name="voicemail_number_not_set" msgid="8831561283386938155">"&lt;Not set&gt;"</string>
@@ -683,7 +674,6 @@
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"Accessibility"</string>
     <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"Wi-Fi call from"</string>
     <string name="status_hint_label_wifi_call" msgid="942993035689809853">"Wi-Fi call"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"Tap again to open"</string>
     <string name="message_decode_error" msgid="1061856591500290887">"There was an error while decoding the message."</string>
     <string name="callFailed_cdma_activation" msgid="5392057031552253550">"A SIM card has activated your service and updated your phone\'s roaming capabilities."</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"There are too many active calls. Please end or merge existing calls before placing a new one."</string>
@@ -827,7 +817,7 @@
     <string name="callFailed_already_dialing" msgid="7250591188960691086">"Cannot place a call as another outgoing call is already dialling."</string>
     <string name="callFailed_already_ringing" msgid="2376603543544289303">"Cannot place a call as there is an unanswered incoming call. Answer or reject the incoming call prior to placing a new call."</string>
     <string name="callFailed_calling_disabled" msgid="5010992739401206283">"Cannot place a call as calling has been disabled using the ro.telephony.disable-call system property."</string>
-    <string name="callFailed_too_many_calls" msgid="5379426826618582180">"Cannot place a call a there are already two calls in progress. Disconnect one of the calls or merge them into a conference prior to placing a new call."</string>
+    <string name="callFailed_too_many_calls" msgid="2761754044990799580">"Cannot place a call as there are already two calls in progress. Disconnect one of the calls or merge them into a conference prior to placing a new call."</string>
     <string name="supp_service_over_ut_precautions" msgid="2145018231396701311">"To use <xliff:g id="SUPP_SERVICE">%s</xliff:g>, make sure that mobile data is turned on. You can change this in mobile network settings."</string>
     <string name="supp_service_over_ut_precautions_roaming" msgid="670342104569972327">"To use <xliff:g id="SUPP_SERVICE">%s</xliff:g>, make sure that mobile data and data roaming are turned on. You can change these in mobile network settings."</string>
     <string name="supp_service_over_ut_precautions_dual_sim" msgid="5166866975550910474">"To use <xliff:g id="SUPP_SERVICE">%1$s</xliff:g>, make sure that mobile data is turned on for SIM <xliff:g id="SIM_NUMBER">%2$d</xliff:g>. You can change this in mobile network settings."</string>
@@ -845,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"You need to restart your device to change this setting."</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"Restart"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"Cancel"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"Set removable eSIM as default"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"Mobile radio power"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"View SIM address book"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"View fixed dialling numbers"</string>
@@ -899,6 +890,7 @@
     <string name="radio_info_band_mode_label" msgid="23480556225515290">"Select radio band"</string>
     <string name="radio_info_voice_network_type_label" msgid="2395347336419593265">"Voice network type:"</string>
     <string name="radio_info_data_network_type_label" msgid="8886597029237501929">"Data network type:"</string>
+    <string name="radio_info_override_network_type_label" msgid="4176280017221092005">"Override network type:"</string>
     <string name="phone_index_label" msgid="6222406512768964268">"Select phone index"</string>
     <string name="radio_info_set_perferred_label" msgid="7408131389363136210">"Set preferred network type:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="6951237885381284790">"Ping hostname(www.google.com) IPv4:"</string>
@@ -910,10 +902,10 @@
     <string name="radio_info_smsc_refresh_label" msgid="8409923721451604560">"Refresh"</string>
     <string name="radio_info_toggle_dns_check_label" msgid="1394078554927787350">"Toggle DNS check"</string>
     <string name="oem_radio_info_label" msgid="2914167475119997456">"OEM-specific info/settings"</string>
-    <string name="radio_info_endc_available" msgid="4410653375290113436">"EN-DC available:"</string>
-    <string name="radio_info_dcnr_restricted" msgid="2469125498066960807">"DCNR restricted:"</string>
-    <string name="radio_info_nr_available" msgid="1321318331361249997">"NR available:"</string>
-    <string name="radio_info_nr_state" msgid="1337571996788535356">"NR status:"</string>
+    <string name="radio_info_endc_available" msgid="2983767110681230019">"EN-DC available (NSA):"</string>
+    <string name="radio_info_dcnr_restricted" msgid="7147511536420148173">"DCNR restricted (NSA):"</string>
+    <string name="radio_info_nr_available" msgid="3383388088451237182">"NR available (NSA):"</string>
+    <string name="radio_info_nr_state" msgid="4158805093187555149">"NR state (NSA):"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR frequency:"</string>
     <string name="band_mode_title" msgid="7988822920724576842">"Set radio band mode"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"Loading band list…"</string>
diff --git a/res/values-en-rGB/strings.xml b/res/values-en-rGB/strings.xml
index 35999b8..eebbbb3 100644
--- a/res/values-en-rGB/strings.xml
+++ b/res/values-en-rGB/strings.xml
@@ -637,14 +637,8 @@
     <string name="phone_in_ecm_notification_title" msgid="6825016389926367946">"Emergency Callback Mode"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="653972232922670335">"Data connection disabled"</string>
     <string name="phone_in_ecm_notification_complete_time" msgid="7341624337163082759">"No data connection until <xliff:g id="COMPLETETIME">%s</xliff:g>"</string>
-    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="5425906903766466743">
-      <item quantity="other">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="one">The phone will be in Emergency Callback mode for <xliff:g id="COUNT_0">%s</xliff:g> minute. While in this mode no apps using a data connection can be used. Do you want to exit now?</item>
-    </plurals>
-    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="1152682528741457004">
-      <item quantity="other">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="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_0">%s</xliff:g> minute. Do you want to exit now?</item>
-    </plurals>
+    <string name="alert_dialog_exit_ecm" msgid="7661603870224398025">"{count,plural, =1{The phone will be in emergency callback mode for one minute. While in this mode, no apps using a data connection can be used. Do you want to exit now?}other{The phone will be in emergency callback mode for %s minutes. While in this mode, no applications using a data connection can be used. Do you want to exit now?}}"</string>
+    <string name="alert_dialog_not_avaialble_in_ecm" msgid="8717711120099503279">"{count,plural, =1{The selected action isn\'t available while in the emergency callback mode. The phone will be in this mode for one minute. Do you want to exit now?}other{The selected action isn\'t available while in the emergency callback mode. The phone will be in this mode for %s minutes. Do you want to exit now?}}"</string>
     <string name="alert_dialog_in_ecm_call" msgid="1207545603149771978">"The action selected isn\'t available during an emergency call."</string>
     <string name="progress_dialog_exiting_ecm" msgid="9159080081676927217">"Exiting Emergency Callback mode"</string>
     <string name="alert_dialog_yes" msgid="3532525979632841417">"Yes"</string>
@@ -652,10 +646,7 @@
     <string name="alert_dialog_dismiss" msgid="1336356286354517054">"Dismiss"</string>
     <string name="phone_in_ecm_call_notification_text_without_data_restriction_hint" msgid="3747860785153531225">"The phone is in emergency callback mode"</string>
     <string name="phone_in_ecm_notification_complete_time_without_data_restriction_hint" msgid="3690292264812050858">"Until <xliff:g id="COMPLETETIME">%s</xliff:g>"</string>
-    <plurals name="alert_dialog_exit_ecm_without_data_restriction_hint" formatted="false" msgid="6477733043040328640">
-      <item quantity="other">The phone will be in emergency callback mode for <xliff:g id="COUNT_1">%s</xliff:g> minutes.\nDo you want to exit now?</item>
-      <item quantity="one">The phone will be in emergency callback mode for <xliff:g id="COUNT_0">%s</xliff:g> minute.\nDo you want to exit now?</item>
-    </plurals>
+    <string name="alert_dialog_exit_ecm_without_data_restriction_hint" msgid="7549850847524907932">"{count,plural, =1{The phone will be in emergency callback mode for one minute.\nDo you want to exit now?}other{The phone will be in emergency callback mode for %s minutes.\nDo you want to exit now?}}"</string>
     <string name="voicemail_provider" msgid="4158806657253745294">"Service"</string>
     <string name="voicemail_settings" msgid="4451045613238972776">"Setup"</string>
     <string name="voicemail_number_not_set" msgid="8831561283386938155">"&lt;Not set&gt;"</string>
@@ -683,7 +674,6 @@
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"Accessibility"</string>
     <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"Wi-Fi call from"</string>
     <string name="status_hint_label_wifi_call" msgid="942993035689809853">"Wi-Fi call"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"Tap again to open"</string>
     <string name="message_decode_error" msgid="1061856591500290887">"There was an error while decoding the message."</string>
     <string name="callFailed_cdma_activation" msgid="5392057031552253550">"A SIM card has activated your service and updated your phone\'s roaming capabilities."</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"There are too many active calls. Please end or merge existing calls before placing a new one."</string>
@@ -827,7 +817,7 @@
     <string name="callFailed_already_dialing" msgid="7250591188960691086">"Cannot place a call as another outgoing call is already dialling."</string>
     <string name="callFailed_already_ringing" msgid="2376603543544289303">"Cannot place a call as there is an unanswered incoming call. Answer or reject the incoming call prior to placing a new call."</string>
     <string name="callFailed_calling_disabled" msgid="5010992739401206283">"Cannot place a call as calling has been disabled using the ro.telephony.disable-call system property."</string>
-    <string name="callFailed_too_many_calls" msgid="5379426826618582180">"Cannot place a call a there are already two calls in progress. Disconnect one of the calls or merge them into a conference prior to placing a new call."</string>
+    <string name="callFailed_too_many_calls" msgid="2761754044990799580">"Cannot place a call as there are already two calls in progress. Disconnect one of the calls or merge them into a conference prior to placing a new call."</string>
     <string name="supp_service_over_ut_precautions" msgid="2145018231396701311">"To use <xliff:g id="SUPP_SERVICE">%s</xliff:g>, make sure that mobile data is turned on. You can change this in mobile network settings."</string>
     <string name="supp_service_over_ut_precautions_roaming" msgid="670342104569972327">"To use <xliff:g id="SUPP_SERVICE">%s</xliff:g>, make sure that mobile data and data roaming are turned on. You can change these in mobile network settings."</string>
     <string name="supp_service_over_ut_precautions_dual_sim" msgid="5166866975550910474">"To use <xliff:g id="SUPP_SERVICE">%1$s</xliff:g>, make sure that mobile data is turned on for SIM <xliff:g id="SIM_NUMBER">%2$d</xliff:g>. You can change this in mobile network settings."</string>
@@ -845,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"You need to restart your device to change this setting."</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"Restart"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"Cancel"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"Set removable eSIM as default"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"Mobile radio power"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"View SIM address book"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"View fixed dialling numbers"</string>
@@ -899,6 +890,7 @@
     <string name="radio_info_band_mode_label" msgid="23480556225515290">"Select radio band"</string>
     <string name="radio_info_voice_network_type_label" msgid="2395347336419593265">"Voice network type:"</string>
     <string name="radio_info_data_network_type_label" msgid="8886597029237501929">"Data network type:"</string>
+    <string name="radio_info_override_network_type_label" msgid="4176280017221092005">"Override network type:"</string>
     <string name="phone_index_label" msgid="6222406512768964268">"Select phone index"</string>
     <string name="radio_info_set_perferred_label" msgid="7408131389363136210">"Set preferred network type:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="6951237885381284790">"Ping hostname(www.google.com) IPv4:"</string>
@@ -910,10 +902,10 @@
     <string name="radio_info_smsc_refresh_label" msgid="8409923721451604560">"Refresh"</string>
     <string name="radio_info_toggle_dns_check_label" msgid="1394078554927787350">"Toggle DNS check"</string>
     <string name="oem_radio_info_label" msgid="2914167475119997456">"OEM-specific info/settings"</string>
-    <string name="radio_info_endc_available" msgid="4410653375290113436">"EN-DC available:"</string>
-    <string name="radio_info_dcnr_restricted" msgid="2469125498066960807">"DCNR restricted:"</string>
-    <string name="radio_info_nr_available" msgid="1321318331361249997">"NR available:"</string>
-    <string name="radio_info_nr_state" msgid="1337571996788535356">"NR status:"</string>
+    <string name="radio_info_endc_available" msgid="2983767110681230019">"EN-DC available (NSA):"</string>
+    <string name="radio_info_dcnr_restricted" msgid="7147511536420148173">"DCNR restricted (NSA):"</string>
+    <string name="radio_info_nr_available" msgid="3383388088451237182">"NR available (NSA):"</string>
+    <string name="radio_info_nr_state" msgid="4158805093187555149">"NR state (NSA):"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR frequency:"</string>
     <string name="band_mode_title" msgid="7988822920724576842">"Set radio band mode"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"Loading band list…"</string>
diff --git a/res/values-en-rIN/strings.xml b/res/values-en-rIN/strings.xml
index 35999b8..eebbbb3 100644
--- a/res/values-en-rIN/strings.xml
+++ b/res/values-en-rIN/strings.xml
@@ -637,14 +637,8 @@
     <string name="phone_in_ecm_notification_title" msgid="6825016389926367946">"Emergency Callback Mode"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="653972232922670335">"Data connection disabled"</string>
     <string name="phone_in_ecm_notification_complete_time" msgid="7341624337163082759">"No data connection until <xliff:g id="COMPLETETIME">%s</xliff:g>"</string>
-    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="5425906903766466743">
-      <item quantity="other">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="one">The phone will be in Emergency Callback mode for <xliff:g id="COUNT_0">%s</xliff:g> minute. While in this mode no apps using a data connection can be used. Do you want to exit now?</item>
-    </plurals>
-    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="1152682528741457004">
-      <item quantity="other">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="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_0">%s</xliff:g> minute. Do you want to exit now?</item>
-    </plurals>
+    <string name="alert_dialog_exit_ecm" msgid="7661603870224398025">"{count,plural, =1{The phone will be in emergency callback mode for one minute. While in this mode, no apps using a data connection can be used. Do you want to exit now?}other{The phone will be in emergency callback mode for %s minutes. While in this mode, no applications using a data connection can be used. Do you want to exit now?}}"</string>
+    <string name="alert_dialog_not_avaialble_in_ecm" msgid="8717711120099503279">"{count,plural, =1{The selected action isn\'t available while in the emergency callback mode. The phone will be in this mode for one minute. Do you want to exit now?}other{The selected action isn\'t available while in the emergency callback mode. The phone will be in this mode for %s minutes. Do you want to exit now?}}"</string>
     <string name="alert_dialog_in_ecm_call" msgid="1207545603149771978">"The action selected isn\'t available during an emergency call."</string>
     <string name="progress_dialog_exiting_ecm" msgid="9159080081676927217">"Exiting Emergency Callback mode"</string>
     <string name="alert_dialog_yes" msgid="3532525979632841417">"Yes"</string>
@@ -652,10 +646,7 @@
     <string name="alert_dialog_dismiss" msgid="1336356286354517054">"Dismiss"</string>
     <string name="phone_in_ecm_call_notification_text_without_data_restriction_hint" msgid="3747860785153531225">"The phone is in emergency callback mode"</string>
     <string name="phone_in_ecm_notification_complete_time_without_data_restriction_hint" msgid="3690292264812050858">"Until <xliff:g id="COMPLETETIME">%s</xliff:g>"</string>
-    <plurals name="alert_dialog_exit_ecm_without_data_restriction_hint" formatted="false" msgid="6477733043040328640">
-      <item quantity="other">The phone will be in emergency callback mode for <xliff:g id="COUNT_1">%s</xliff:g> minutes.\nDo you want to exit now?</item>
-      <item quantity="one">The phone will be in emergency callback mode for <xliff:g id="COUNT_0">%s</xliff:g> minute.\nDo you want to exit now?</item>
-    </plurals>
+    <string name="alert_dialog_exit_ecm_without_data_restriction_hint" msgid="7549850847524907932">"{count,plural, =1{The phone will be in emergency callback mode for one minute.\nDo you want to exit now?}other{The phone will be in emergency callback mode for %s minutes.\nDo you want to exit now?}}"</string>
     <string name="voicemail_provider" msgid="4158806657253745294">"Service"</string>
     <string name="voicemail_settings" msgid="4451045613238972776">"Setup"</string>
     <string name="voicemail_number_not_set" msgid="8831561283386938155">"&lt;Not set&gt;"</string>
@@ -683,7 +674,6 @@
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"Accessibility"</string>
     <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"Wi-Fi call from"</string>
     <string name="status_hint_label_wifi_call" msgid="942993035689809853">"Wi-Fi call"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"Tap again to open"</string>
     <string name="message_decode_error" msgid="1061856591500290887">"There was an error while decoding the message."</string>
     <string name="callFailed_cdma_activation" msgid="5392057031552253550">"A SIM card has activated your service and updated your phone\'s roaming capabilities."</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"There are too many active calls. Please end or merge existing calls before placing a new one."</string>
@@ -827,7 +817,7 @@
     <string name="callFailed_already_dialing" msgid="7250591188960691086">"Cannot place a call as another outgoing call is already dialling."</string>
     <string name="callFailed_already_ringing" msgid="2376603543544289303">"Cannot place a call as there is an unanswered incoming call. Answer or reject the incoming call prior to placing a new call."</string>
     <string name="callFailed_calling_disabled" msgid="5010992739401206283">"Cannot place a call as calling has been disabled using the ro.telephony.disable-call system property."</string>
-    <string name="callFailed_too_many_calls" msgid="5379426826618582180">"Cannot place a call a there are already two calls in progress. Disconnect one of the calls or merge them into a conference prior to placing a new call."</string>
+    <string name="callFailed_too_many_calls" msgid="2761754044990799580">"Cannot place a call as there are already two calls in progress. Disconnect one of the calls or merge them into a conference prior to placing a new call."</string>
     <string name="supp_service_over_ut_precautions" msgid="2145018231396701311">"To use <xliff:g id="SUPP_SERVICE">%s</xliff:g>, make sure that mobile data is turned on. You can change this in mobile network settings."</string>
     <string name="supp_service_over_ut_precautions_roaming" msgid="670342104569972327">"To use <xliff:g id="SUPP_SERVICE">%s</xliff:g>, make sure that mobile data and data roaming are turned on. You can change these in mobile network settings."</string>
     <string name="supp_service_over_ut_precautions_dual_sim" msgid="5166866975550910474">"To use <xliff:g id="SUPP_SERVICE">%1$s</xliff:g>, make sure that mobile data is turned on for SIM <xliff:g id="SIM_NUMBER">%2$d</xliff:g>. You can change this in mobile network settings."</string>
@@ -845,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"You need to restart your device to change this setting."</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"Restart"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"Cancel"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"Set removable eSIM as default"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"Mobile radio power"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"View SIM address book"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"View fixed dialling numbers"</string>
@@ -899,6 +890,7 @@
     <string name="radio_info_band_mode_label" msgid="23480556225515290">"Select radio band"</string>
     <string name="radio_info_voice_network_type_label" msgid="2395347336419593265">"Voice network type:"</string>
     <string name="radio_info_data_network_type_label" msgid="8886597029237501929">"Data network type:"</string>
+    <string name="radio_info_override_network_type_label" msgid="4176280017221092005">"Override network type:"</string>
     <string name="phone_index_label" msgid="6222406512768964268">"Select phone index"</string>
     <string name="radio_info_set_perferred_label" msgid="7408131389363136210">"Set preferred network type:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="6951237885381284790">"Ping hostname(www.google.com) IPv4:"</string>
@@ -910,10 +902,10 @@
     <string name="radio_info_smsc_refresh_label" msgid="8409923721451604560">"Refresh"</string>
     <string name="radio_info_toggle_dns_check_label" msgid="1394078554927787350">"Toggle DNS check"</string>
     <string name="oem_radio_info_label" msgid="2914167475119997456">"OEM-specific info/settings"</string>
-    <string name="radio_info_endc_available" msgid="4410653375290113436">"EN-DC available:"</string>
-    <string name="radio_info_dcnr_restricted" msgid="2469125498066960807">"DCNR restricted:"</string>
-    <string name="radio_info_nr_available" msgid="1321318331361249997">"NR available:"</string>
-    <string name="radio_info_nr_state" msgid="1337571996788535356">"NR status:"</string>
+    <string name="radio_info_endc_available" msgid="2983767110681230019">"EN-DC available (NSA):"</string>
+    <string name="radio_info_dcnr_restricted" msgid="7147511536420148173">"DCNR restricted (NSA):"</string>
+    <string name="radio_info_nr_available" msgid="3383388088451237182">"NR available (NSA):"</string>
+    <string name="radio_info_nr_state" msgid="4158805093187555149">"NR state (NSA):"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR frequency:"</string>
     <string name="band_mode_title" msgid="7988822920724576842">"Set radio band mode"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"Loading band list…"</string>
diff --git a/res/values-en-rXC/strings.xml b/res/values-en-rXC/strings.xml
index 04094fb..84474ef 100644
--- a/res/values-en-rXC/strings.xml
+++ b/res/values-en-rXC/strings.xml
@@ -637,14 +637,8 @@
     <string name="phone_in_ecm_notification_title" msgid="6825016389926367946">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‎‏‏‏‏‎‏‎‏‏‎‏‏‏‎‏‎‏‎‏‎‎‎‎‏‏‏‏‏‏‎‎‎‎‎‎‏‏‏‏‎‎‎‏‏‏‏‎‏‏‎‎‏‎‏‏‎‎‏‎‏‎‎Emergency Callback Mode‎‏‎‎‏‎"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="653972232922670335">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‎‎‏‎‎‏‎‎‎‏‎‎‏‏‎‏‏‎‎‎‎‎‎‏‎‎‎‏‏‏‏‏‏‎‏‏‎‎‎‏‎‏‎‎‏‏‎‎‏‎‎‏‎‎‏‏‏‏‏‏‏‏‎Data connection disabled‎‏‎‎‏‎"</string>
     <string name="phone_in_ecm_notification_complete_time" msgid="7341624337163082759">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‏‎‎‏‎‏‏‏‏‎‎‎‏‎‏‎‏‏‎‎‎‎‎‏‏‎‏‏‏‏‏‏‏‎‎‎‏‎‏‏‏‏‎‏‏‏‏‏‎‏‏‏‎‎‎‎‎‎‎‏‏‏‎No data connection until ‎‏‎‎‏‏‎<xliff:g id="COMPLETETIME">%s</xliff:g>‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</string>
-    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="5425906903766466743">
-      <item quantity="other">‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‎‎‏‎‏‏‎‏‎‎‏‏‎‎‏‎‏‏‎‎‎‏‏‎‎‏‎‏‎‎‏‏‎‎‏‏‏‏‎‏‎‏‎‏‏‏‎‎‎‎‎‎‎‎‏‎‏‏‎‏‏‏‎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="one">‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‎‎‏‎‏‏‎‏‎‎‏‏‎‎‏‎‏‏‎‎‎‏‏‎‎‏‎‏‎‎‏‏‎‎‏‏‏‏‎‏‎‏‎‏‏‏‎‎‎‎‎‎‎‎‏‎‏‏‎‏‏‏‎The phone will be in Emergency Callback mode for ‎‏‎‎‏‏‎<xliff:g id="COUNT_0">%s</xliff:g>‎‏‎‎‏‏‏‎ minute. While in this mode no apps using a data connection can be used. Do you want to exit now?‎‏‎‎‏‎</item>
-    </plurals>
-    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="1152682528741457004">
-      <item quantity="other">‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‎‎‏‏‏‏‏‏‏‏‏‏‏‏‎‎‏‎‎‏‏‎‏‎‏‎‎‏‏‏‎‎‎‏‏‎‎‎‎‏‏‎‏‏‏‎‏‏‏‏‏‏‎‎‎‏‏‎‏‏‎‎‎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="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_0">%s</xliff:g>‎‏‎‎‏‏‏‎ minute. Do you want to exit now?‎‏‎‎‏‎</item>
-    </plurals>
+    <string name="alert_dialog_exit_ecm" msgid="7661603870224398025">"{count,plural, =1{‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‏‎‏‎‏‎‎‏‎‏‎‎‏‏‎‏‏‏‏‏‎‎‎‎‏‎‎‎‎‎‏‎‎‎‎‏‏‎‎‏‏‏‏‎‏‏‏‎‏‏‎‏‏‎‏‏‎‎‏‎‎‏‎The phone will be in Emergency Callback mode for one minute. While in this mode no apps using a data connection can be used. Do you want to exit now?‎‏‎‎‏‎}other{‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‏‎‏‎‏‎‎‏‎‏‎‎‏‏‎‏‏‏‏‏‎‎‎‎‏‎‎‎‎‎‏‎‎‎‎‏‏‎‎‏‏‏‏‎‏‏‏‎‏‏‎‏‏‎‏‏‎‎‏‎‎‏‎The phone will be in Emergency Callback mode for %s minutes. While in this mode no applications using a data connection can be used. Do you want to exit now?‎‏‎‎‏‎}}"</string>
+    <string name="alert_dialog_not_avaialble_in_ecm" msgid="8717711120099503279">"{count,plural, =1{‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‏‏‏‎‎‎‏‏‏‏‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‏‎‎‏‏‎‏‎‎‏‎‎‎‎‎‎‎‎‎‎‎‏‏‏‎‏‏‎‎‏‎‏‎‏‏‏‏‎The selected action isn\'t available while in the Emergency Callback mode. The phone will be in this mode for one minute. Do you want to exit now?‎‏‎‎‏‎}other{‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‏‏‏‎‎‎‏‏‏‏‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‏‎‎‏‏‎‏‎‎‏‎‎‎‎‎‎‎‎‎‎‎‏‏‏‎‏‏‎‎‏‎‏‎‏‏‏‏‎The selected action isn\'t available while in the Emergency Callback mode. The phone will be in this mode for %s minutes. Do you want to exit now?‎‏‎‎‏‎}}"</string>
     <string name="alert_dialog_in_ecm_call" msgid="1207545603149771978">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‎‏‏‎‎‎‎‏‏‎‎‎‎‏‎‎‎‎‏‎‎‎‎‎‏‎‏‎‏‎‎‎‎‎‎‎‏‎‏‏‏‎‏‎‎‏‏‏‎‏‏‎‏‎‎‏‏‎‎‏‎‏‎‎The selected action isn\'t available while in an emergency call.‎‏‎‎‏‎"</string>
     <string name="progress_dialog_exiting_ecm" msgid="9159080081676927217">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‏‏‏‏‏‏‎‎‎‏‏‎‏‏‏‎‎‏‎‏‏‎‏‏‎‎‏‏‏‎‏‎‏‏‎‎‎‏‏‎‏‏‎‏‎‏‏‎‎‎‎‎‎‎‏‏‏‏‎‎‎‏‎Exiting Emergency Callback mode‎‏‎‎‏‎"</string>
     <string name="alert_dialog_yes" msgid="3532525979632841417">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‎‏‏‎‎‎‏‎‎‎‎‎‏‏‎‎‎‎‎‏‏‎‏‏‎‏‎‏‎‎‏‏‎‎‎‏‏‏‏‏‏‎‏‏‎‏‎‏‎‏‏‎‎‏‎‏‏‎‎‏‎‎‏‎Yes‎‏‎‎‏‎"</string>
@@ -652,10 +646,7 @@
     <string name="alert_dialog_dismiss" msgid="1336356286354517054">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‎‏‏‎‎‏‎‏‎‎‎‏‎‏‏‏‎‏‏‎‎‎‎‏‏‏‏‎‏‏‎‎‏‎‎‏‏‎‏‏‎‎‎‎‏‎‏‎‏‏‎‏‏‎‎‎‎‏‏‏‏‏‎‎Dismiss‎‏‎‎‏‎"</string>
     <string name="phone_in_ecm_call_notification_text_without_data_restriction_hint" msgid="3747860785153531225">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‎‏‏‎‏‎‎‎‎‎‎‎‎‏‏‎‎‎‏‎‎‏‏‏‎‎‎‎‏‏‎‏‏‏‎‏‏‏‎‏‎‏‏‎‎‎‏‎‏‎‏‏‏‎‏‎‏‎‏‏‎‎‏‎The phone is in emergency callback mode‎‏‎‎‏‎"</string>
     <string name="phone_in_ecm_notification_complete_time_without_data_restriction_hint" msgid="3690292264812050858">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‎‏‏‎‎‏‏‎‎‏‏‎‏‏‎‏‎‎‎‏‏‎‏‎‏‎‎‎‎‏‏‎‏‎‎‏‎‎‏‎‏‏‏‏‏‏‎‎‏‏‏‏‎‎‏‏‎‏‎‏‎‏‎‎Until ‎‏‎‎‏‏‎<xliff:g id="COMPLETETIME">%s</xliff:g>‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</string>
-    <plurals name="alert_dialog_exit_ecm_without_data_restriction_hint" formatted="false" msgid="6477733043040328640">
-      <item quantity="other">‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‎‏‏‎‎‏‏‏‏‎‎‏‎‏‏‎‎‎‎‏‏‏‏‏‏‎‎‎‎‏‏‏‎‏‎‏‎‎‎‎‏‏‏‎‏‎‏‎‎‏‏‎‏‏‏‏‎‎‎‎‎‎‎The phone will be in emergency callback mode for ‎‏‎‎‏‏‎<xliff:g id="COUNT_1">%s</xliff:g>‎‏‎‎‏‏‏‎ minutes.‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎Do you want to exit now?‎‏‎‎‏‎</item>
-      <item quantity="one">‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‎‏‏‎‎‏‏‏‏‎‎‏‎‏‏‎‎‎‎‏‏‏‏‏‏‎‎‎‎‏‏‏‎‏‎‏‎‎‎‎‏‏‏‎‏‎‏‎‎‏‏‎‏‏‏‏‎‎‎‎‎‎‎The phone will be in emergency callback mode for ‎‏‎‎‏‏‎<xliff:g id="COUNT_0">%s</xliff:g>‎‏‎‎‏‏‏‎ minute.‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎Do you want to exit now?‎‏‎‎‏‎</item>
-    </plurals>
+    <string name="alert_dialog_exit_ecm_without_data_restriction_hint" msgid="7549850847524907932">"{count,plural, =1{‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‏‎‏‎‎‎‏‏‎‎‎‏‏‎‎‏‏‏‎‏‎‏‎‏‎‏‏‎‎‎‎‏‎‏‎‎‎‏‏‏‏‎‎‏‏‏‎‏‏‎‏‎‏‏‏‎‎‏‏‏‎‎‎The phone will be in emergency callback mode for one minute.‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎Do you want to exit now?‎‏‎‎‏‎}other{‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‏‎‏‎‎‎‏‏‎‎‎‏‏‎‎‏‏‏‎‏‎‏‎‏‎‏‏‎‎‎‎‏‎‏‎‎‎‏‏‏‏‎‎‏‏‏‎‏‏‎‏‎‏‏‏‎‎‏‏‏‎‎‎The phone will be in emergency callback mode for %s minutes.‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎Do you want to exit now?‎‏‎‎‏‎}}"</string>
     <string name="voicemail_provider" msgid="4158806657253745294">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‎‏‏‏‎‎‏‏‎‏‏‎‏‏‏‎‎‎‎‏‏‎‎‏‎‎‏‏‏‏‎‏‏‎‏‎‏‏‏‎‎‏‎‎‎‏‏‏‎‏‎‎‎‏‎‏‎‎‎‏‏‏‎‎Service‎‏‎‎‏‎"</string>
     <string name="voicemail_settings" msgid="4451045613238972776">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‎‏‏‏‏‎‏‏‏‎‎‎‏‎‏‎‏‎‎‏‎‏‎‎‏‏‎‎‏‏‏‎‎‎‏‎‎‎‎‎‎‏‎‏‎‏‏‎‏‏‏‎‎‎‏‎‏‏‎‏‎‎‎‎Setup‎‏‎‎‏‎"</string>
     <string name="voicemail_number_not_set" msgid="8831561283386938155">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‏‏‏‎‏‎‏‎‎‏‎‎‎‎‎‎‎‎‎‎‏‎‎‎‏‏‎‎‏‎‎‎‎‏‎‏‎‎‎‏‎‏‏‏‏‏‎‎‎‏‎‎‏‏‎‎‏‎‏‎‏‏‎&lt;Not set&gt;‎‏‎‎‏‎"</string>
@@ -683,7 +674,6 @@
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‏‎‏‏‎‏‎‏‏‎‎‏‏‏‏‎‎‎‎‏‎‎‎‏‎‏‏‎‎‎‏‎‏‏‎‏‎‏‏‎‎‏‎‎‏‏‏‏‏‎‎‏‏‏‏‏‎‎‏‎‏‎‎Accessibility‎‏‎‎‏‎"</string>
     <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‎‏‎‎‏‎‎‎‎‏‎‏‎‏‎‏‎‎‎‏‏‏‏‎‎‎‎‎‏‏‏‎‏‎‎‏‏‎‎‎‏‏‏‏‏‎‎‏‏‎‎‏‏‏‎‏‎‏‎‎‏‏‏‎Wi-Fi call from‎‏‎‎‏‎"</string>
     <string name="status_hint_label_wifi_call" msgid="942993035689809853">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‎‎‏‏‎‏‎‎‎‏‎‏‏‎‎‎‏‎‏‏‏‏‎‎‏‎‏‎‏‏‎‏‏‏‎‏‎‏‏‏‏‏‎‏‎‏‎‏‎‏‎‏‏‏‏‎‏‏‏‏‎‏‎Wi-Fi call‎‏‎‎‏‎"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‎‏‎‎‏‏‎‎‏‎‏‎‏‎‎‏‎‏‎‎‏‏‏‏‎‏‏‎‏‎‎‏‎‎‎‏‎‏‎‎‏‎‎‏‎‎‎‎‎‏‎‎‎‎‎‏‎‏‏‎‎‏‎‎Tap again to open‎‏‎‎‏‎"</string>
     <string name="message_decode_error" msgid="1061856591500290887">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‎‎‏‏‏‎‏‎‏‏‏‏‎‎‎‏‏‏‏‎‎‎‏‏‏‏‎‎‎‏‏‎‏‎‏‎‏‎‏‏‎‎‏‎‎‎‎‎‏‎‏‎‏‏‎‏‎‎‎‏‏‏‎There was an error while decoding the message.‎‏‎‎‏‎"</string>
     <string name="callFailed_cdma_activation" msgid="5392057031552253550">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‎‎‏‎‏‎‏‏‎‏‎‏‎‎‎‏‏‎‏‏‏‏‎‏‎‎‏‏‎‏‎‏‎‎‎‏‏‎‎‏‎‏‎‎‎‏‏‎‏‏‏‏‏‎‎‏‏‎‏‏‏‎‎A SIM card has activated your service and updated your phone\'s roaming capabilities.‎‏‎‎‏‎"</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‎‎‏‏‏‎‏‏‏‎‏‎‎‎‎‏‏‎‎‏‎‏‎‎‏‎‏‎‏‎‏‏‏‎‏‎‎‎‏‎‎‏‎‏‎‏‏‏‎‏‏‏‏‏‏‏‏‏‎‏‎‎‎There are too many active calls. Please end or merge existing calls before placing a new one.‎‏‎‎‏‎"</string>
@@ -827,7 +817,7 @@
     <string name="callFailed_already_dialing" msgid="7250591188960691086">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‏‎‎‏‎‎‏‎‎‏‏‏‏‏‎‏‎‎‎‏‏‎‎‏‎‎‎‏‎‏‎‏‏‎‎‏‎‏‏‎‎‏‎‏‎‎‎‏‎‎‎‎‏‏‏‎‎‎‏‏‏‎‎Cannot place a call as another outgoing call is already dialing.‎‏‎‎‏‎"</string>
     <string name="callFailed_already_ringing" msgid="2376603543544289303">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‎‏‎‎‎‎‎‏‏‏‏‏‎‏‏‎‏‏‎‎‏‎‎‎‏‎‏‎‏‎‎‏‏‎‎‎‎‎‎‏‏‏‎‎‏‎‎‎‏‎‏‏‎‎‎‎‎‎‏‎‏‏‏‎Cannot place a call as there is an unanswered incoming call. Answer or reject the incoming call prior to placing a new call.‎‏‎‎‏‎"</string>
     <string name="callFailed_calling_disabled" msgid="5010992739401206283">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‎‎‎‏‎‏‏‎‎‎‏‎‏‎‏‎‎‏‏‏‏‏‎‏‎‏‏‎‎‎‏‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‎‏‎‎‎‎‎‏‎‏‏‎Cannot place a call as calling has been disabled using the ro.telephony.disable-call system property.‎‏‎‎‏‎"</string>
-    <string name="callFailed_too_many_calls" msgid="5379426826618582180">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‎‎‏‎‏‎‏‎‏‎‎‏‏‏‏‎‎‏‎‎‎‎‎‎‏‏‎‎‏‎‏‎‎‎‎‏‏‏‏‏‎‎‏‏‏‎‏‎‏‏‎‏‎‎‏‎‏‎‎‏‎‎‎Cannot place a call a there are already two calls in progress. Disconnect one of the calls or merge them into a conference prior to placing a new call.‎‏‎‎‏‎"</string>
+    <string name="callFailed_too_many_calls" msgid="2761754044990799580">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‎‏‎‎‏‏‎‎‏‎‏‎‎‏‏‏‎‏‏‏‎‎‎‏‎‏‎‏‎‏‏‏‏‏‎‏‎‎‎‏‎‏‎‏‏‎‎‏‎‏‏‏‏‏‎‏‏‎‏‏‏‎‎‎Cannot place a call as there are already two calls in progress. Disconnect one of the calls or merge them into a conference prior to placing a new call.‎‏‎‎‏‎"</string>
     <string name="supp_service_over_ut_precautions" msgid="2145018231396701311">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‎‏‏‏‏‎‏‏‏‎‎‎‏‎‎‏‎‏‎‎‎‏‎‏‎‏‏‎‏‏‏‎‏‏‏‎‏‏‏‎‎‏‎‎‎‏‏‎‎‎‏‎‏‎‎‎‏‏‏‏‏‏‏‎To use ‎‏‎‎‏‏‎<xliff:g id="SUPP_SERVICE">%s</xliff:g>‎‏‎‎‏‏‏‎, make sure mobile data is turned on. You can change this in mobile network settings.‎‏‎‎‏‎"</string>
     <string name="supp_service_over_ut_precautions_roaming" msgid="670342104569972327">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‎‎‏‎‎‏‎‏‎‎‏‏‎‏‏‎‎‎‏‎‎‎‏‎‎‏‎‏‏‏‏‎‏‎‏‏‎‎‏‏‏‎‎‎‎‏‏‎‎‎‎‏‏‎‎‏‏‎‎‏‏‏‎To use ‎‏‎‎‏‏‎<xliff:g id="SUPP_SERVICE">%s</xliff:g>‎‏‎‎‏‏‏‎, make sure mobile data and data roaming are turned on. You can change these in mobile network settings.‎‏‎‎‏‎"</string>
     <string name="supp_service_over_ut_precautions_dual_sim" msgid="5166866975550910474">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‎‎‎‏‏‏‏‎‏‏‎‏‎‎‎‏‏‎‎‏‏‎‎‎‏‎‎‎‏‏‏‎‎‏‎‏‏‏‎‏‏‎‏‎‎‎‏‎‏‏‎‎‎‎‎‎‎‎‏‎‏‎‎To use ‎‏‎‎‏‏‎<xliff:g id="SUPP_SERVICE">%1$s</xliff:g>‎‏‎‎‏‏‏‎, make sure mobile data is turned on for SIM ‎‏‎‎‏‏‎<xliff:g id="SIM_NUMBER">%2$d</xliff:g>‎‏‎‎‏‏‏‎. You can change this in mobile network settings.‎‏‎‎‏‎"</string>
@@ -845,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‎‏‏‏‎‎‎‎‎‏‎‏‎‏‏‏‎‎‎‏‎‎‏‏‏‏‏‎‏‏‏‎‏‎‏‏‏‏‏‏‎‏‏‏‎‏‎‏‏‏‏‏‎‎‎‎‏‏‎‎‎‏‎‎You need to restart your device to change this setting.‎‏‎‎‏‎"</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‏‏‏‏‎‏‎‏‎‏‏‎‎‎‎‎‏‎‎‎‎‎‏‎‎‏‎‏‏‏‏‎‎‏‎‏‏‎‏‏‎‏‎‎‏‏‏‎‎‏‏‎‎‎‏‏‎‏‏‏‎‏‎Restart‎‏‎‎‏‎"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‎‏‎‏‏‎‏‎‎‎‎‏‎‏‏‏‏‏‏‎‏‏‎‎‏‏‏‎‏‏‎‏‏‏‎‏‏‎‏‎‏‎‏‏‏‏‏‎‎‏‏‎‎‎‎‎‏‎‏‏‏‏‏‎Cancel‎‏‎‎‏‎"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‏‎‏‏‏‎‎‎‎‏‎‎‎‏‏‏‏‎‎‎‏‎‏‏‎‏‎‎‏‎‎‏‎‎‏‏‏‎‏‏‏‏‎‏‎‎‎‎‏‎‏‎‎‎‏‎‎‎‎‎‎‏‎Set Removable eSIM as Default‎‏‎‎‏‎"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‏‏‏‎‏‎‎‎‏‏‎‎‏‏‏‏‎‎‎‎‏‎‎‎‎‎‎‏‎‎‏‏‎‎‎‎‏‏‏‏‎‏‎‎‏‎‏‎‏‎‎‏‏‎‎‎‏‎‎‎‏‏‎Mobile Radio Power‎‏‎‎‏‎"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‎‏‏‏‏‏‎‏‏‏‎‏‎‎‏‎‎‎‏‎‏‏‎‏‏‏‏‎‎‏‎‏‎‎‎‏‎‏‏‏‏‎‎‏‏‏‎‎‎‏‏‏‎‎‏‏‏‏‎‎‏‏‎‎View SIM Address Book‎‏‎‎‏‎"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‎‏‏‏‎‎‏‏‎‏‎‎‎‏‎‏‎‏‏‎‎‏‏‏‏‎‎‏‎‏‎‏‎‏‏‏‏‎‏‏‏‏‏‎‏‎‎‏‏‎‏‏‏‏‎‏‏‏‏‏‏‎‏‎View Fixed Dialing Numbers‎‏‎‎‏‎"</string>
@@ -899,6 +890,7 @@
     <string name="radio_info_band_mode_label" msgid="23480556225515290">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‎‏‏‏‏‎‏‎‎‏‏‎‏‏‎‏‎‏‏‎‏‏‏‎‎‎‏‎‎‎‎‎‏‎‎‏‏‏‏‎‎‏‏‎‏‎‎‏‏‏‏‎‎‎‏‏‎‏‎‎Select Radio Band‎‏‎‎‏‎"</string>
     <string name="radio_info_voice_network_type_label" msgid="2395347336419593265">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‎‏‎‎‎‎‏‎‎‏‏‏‏‎‏‏‏‏‏‏‎‏‏‏‎‏‏‎‏‏‎‎‎‎‏‏‏‎‎‏‏‏‏‎‏‏‏‏‏‎‎‏‏‎‎‎‎‏‏‎‎‎‏‎Voice Network Type:‎‏‎‎‏‎"</string>
     <string name="radio_info_data_network_type_label" msgid="8886597029237501929">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‏‏‏‎‏‏‎‏‎‏‎‎‏‏‏‎‎‎‏‎‎‎‏‏‏‎‏‎‏‎‎‎‏‏‎‏‎‏‏‎‏‏‏‏‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‎‏‎Data Network Type:‎‏‎‎‏‎"</string>
+    <string name="radio_info_override_network_type_label" msgid="4176280017221092005">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‎‏‏‏‎‎‏‏‏‏‏‎‏‎‏‎‎‏‎‎‎‎‎‏‎‎‎‏‏‎‎‎‏‏‏‏‏‎‏‎‎‎‎‎‏‏‎‏‎‎‎‎‎‏‎‏‎‏‎‎‏‎‏‎Override Network Type:‎‏‎‎‏‎"</string>
     <string name="phone_index_label" msgid="6222406512768964268">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‎‏‎‏‏‎‎‏‎‏‏‎‏‎‎‏‏‎‏‏‎‏‏‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‏‎‏‎‏‎‏‏‏‏‎‏‎‏‏‎‏‎‏‎‏‏‎‎‎Select phone index‎‏‎‎‏‎"</string>
     <string name="radio_info_set_perferred_label" msgid="7408131389363136210">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‏‎‎‏‏‎‏‏‎‎‏‏‏‎‏‏‏‏‏‎‎‎‎‎‏‏‏‏‏‏‏‎‏‎‏‎‎‎‎‏‏‎‏‎‎‏‎‎‏‎‎‏‏‎‏‏‎‏‎‎‏‎‎Set Preferred Network Type:‎‏‎‎‏‎"</string>
     <string name="radio_info_ping_hostname_v4" msgid="6951237885381284790">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‏‎‎‎‎‎‎‏‏‏‎‏‏‏‏‏‎‎‎‎‏‎‎‎‎‎‎‏‏‏‎‎‎‎‏‎‏‏‎‏‏‎‎‎‏‏‏‎‎‏‎‎‏‏‏‎‏‏‎‏‏‎‎Ping Hostname(www.google.com) IPv4:‎‏‎‎‏‎"</string>
@@ -910,10 +902,10 @@
     <string name="radio_info_smsc_refresh_label" msgid="8409923721451604560">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‏‏‎‏‎‎‏‎‏‏‎‏‏‎‎‎‎‎‏‏‎‏‎‎‎‏‎‎‎‏‎‎‏‎‎‏‎‏‎‏‎‎‎‎‎‏‎‎‎‎‏‎‏‎‎‏‎‏‎‎‎‎‎Refresh‎‏‎‎‏‎"</string>
     <string name="radio_info_toggle_dns_check_label" msgid="1394078554927787350">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‎‏‏‎‎‏‏‎‏‎‏‏‎‎‎‏‏‎‎‎‎‏‏‎‎‎‎‏‏‏‏‎‎‏‏‏‏‏‏‎‏‏‏‎‏‎‏‏‏‏‎‏‏‎‏‎‏‎‏‎‏‏‎‎Toggle DNS Check‎‏‎‎‏‎"</string>
     <string name="oem_radio_info_label" msgid="2914167475119997456">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‎‏‎‏‎‎‎‎‏‏‏‎‎‎‏‎‎‏‏‎‎‏‏‏‏‏‎‎‎‎‎‏‏‏‏‎‎‏‎‏‎‎‎‎‏‏‎‎‏‎‎‎‎‏‎‎‎‎‏‎‎‎‎‎OEM-specific Info/Settings‎‏‎‎‏‎"</string>
-    <string name="radio_info_endc_available" msgid="4410653375290113436">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‎‏‏‏‏‎‏‎‎‏‏‎‏‎‏‏‏‎‎‏‎‎‏‏‏‏‎‎‎‎‎‎‏‎‎‏‏‎‏‏‎‎‎‏‎‏‏‎‏‏‏‏‏‎‏‏‎‎‏‏‏‎‎‎EN-DC Available:‎‏‎‎‏‎"</string>
-    <string name="radio_info_dcnr_restricted" msgid="2469125498066960807">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‎‏‎‎‎‏‎‎‏‎‎‎‏‎‎‎‎‎‏‏‎‎‎‏‎‎‎‏‏‏‎‏‏‏‏‏‎‏‎‎‎‏‎‎‏‎‎‎‎‎‎‎‎‎‏‏‎‏‎‎‏‏‏‎DCNR Restricted:‎‏‎‎‏‎"</string>
-    <string name="radio_info_nr_available" msgid="1321318331361249997">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‎‏‏‎‎‏‎‎‏‎‏‎‏‏‎‎‏‎‎‎‏‎‎‎‎‎‎‎‏‎‏‏‎‎‎‏‏‏‏‏‏‏‏‏‏‏‏‏‏‎‎‏‎‏‎‏‏‎‎‏‏‎‏‎NR Available:‎‏‎‎‏‎"</string>
-    <string name="radio_info_nr_state" msgid="1337571996788535356">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‎‏‏‎‎‏‎‏‎‎‏‎‎‎‎‎‎‎‎‎‎‏‎‏‎‏‎‎‏‎‎‏‏‏‏‎‎‏‎‎‎‎‏‎‏‏‏‎‎‏‏‎‎‎‎‎‎‏‏‏‏‎‎‎NR State:‎‏‎‎‏‎"</string>
+    <string name="radio_info_endc_available" msgid="2983767110681230019">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‎‏‎‏‎‎‏‎‏‏‎‏‎‎‎‎‏‏‏‏‎‎‎‎‏‏‎‎‎‎‎‏‏‏‎‎‏‎‎‏‎‏‎‎‏‎‏‏‏‏‏‏‎‏‎‏‏‎‎‎‎‏‏‎EN-DC Available (NSA):‎‏‎‎‏‎"</string>
+    <string name="radio_info_dcnr_restricted" msgid="7147511536420148173">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‏‎‎‎‏‏‎‎‏‏‎‎‎‏‎‎‎‎‏‏‏‏‏‏‎‏‏‏‏‏‏‎‎‎‏‏‎‎‎‏‎‏‎‏‎‎‎‏‎‏‎‎‏‏‏‏‎‎‏‏‎‏‎DCNR Restricted (NSA):‎‏‎‎‏‎"</string>
+    <string name="radio_info_nr_available" msgid="3383388088451237182">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‎‏‎‏‏‏‎‏‏‏‏‎‏‎‎‎‎‏‏‎‏‎‏‏‎‎‎‏‎‏‎‎‏‎‏‏‏‎‏‎‏‏‎‏‏‎‎‏‎‎‎‎‏‎‏‎‎‏‏‏‏‏‎‎NR Available (NSA):‎‏‎‎‏‎"</string>
+    <string name="radio_info_nr_state" msgid="4158805093187555149">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‎‏‏‏‎‎‏‏‎‏‏‎‏‏‏‎‎‎‎‏‎‏‏‎‎‏‏‎‎‏‎‏‎‏‎‏‏‎‏‏‎‎‎‎‏‏‏‏‎‎‎‏‏‏‏‎‏‎‎‏‏‎‏‎NR State (NSA):‎‏‎‎‏‎"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‎‏‏‎‎‎‎‏‎‏‎‏‎‏‏‎‏‎‏‏‏‎‏‎‎‎‎‏‏‎‎‎‎‏‏‏‏‏‎‏‎‏‎‏‎‎‎‎‏‏‎‏‎‎‎‏‏‎‎‎‎‎‎‎NR Frequency:‎‏‎‎‏‎"</string>
     <string name="band_mode_title" msgid="7988822920724576842">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‏‎‏‏‏‎‏‏‎‏‏‏‏‎‎‎‎‎‎‎‎‎‎‎‎‏‏‏‏‎‏‎‏‎‏‎‏‏‎‏‎‎‏‎‎‏‎‏‏‏‏‎‏‎‎‏‎‎‏‎‏‎‎Set Radio Band Mode‎‏‎‎‏‎"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‎‎‏‎‏‏‎‎‎‎‏‎‏‏‏‎‏‏‎‎‎‎‎‏‏‎‏‎‎‏‏‎‎‏‎‎‏‎‎‏‏‏‏‏‎‎‏‏‎‏‏‏‎‏‏‏‎‏‏‏‏‏‎Loading Band List…‎‏‎‎‏‎"</string>
diff --git a/res/values-es-rUS/strings.xml b/res/values-es-rUS/strings.xml
index 3f436b7..5c5deba 100644
--- a/res/values-es-rUS/strings.xml
+++ b/res/values-es-rUS/strings.xml
@@ -575,7 +575,7 @@
     <string name="fire_type_description" msgid="6565200468934914930">"Bomberos"</string>
     <string name="description_concat_format" msgid="2014471565101724088">"%1$s, %2$s"</string>
     <string name="dialerKeyboardHintText" msgid="1115266533703764049">"Utilizar teclado para marcar"</string>
-    <string name="onscreenHoldText" msgid="4025348842151665191">"Retener"</string>
+    <string name="onscreenHoldText" msgid="4025348842151665191">"Pausar"</string>
     <string name="onscreenEndCallText" msgid="6138725377654842757">"Finalizar"</string>
     <string name="onscreenShowDialpadText" msgid="658465753816164079">"Teclado telefónico"</string>
     <string name="onscreenMuteText" msgid="5470306116733843621">"Silenciar"</string>
@@ -637,14 +637,8 @@
     <string name="phone_in_ecm_notification_title" msgid="6825016389926367946">"Modo de devolución de llamada de emergencia"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="653972232922670335">"La conexión de datos se ha desactivado"</string>
     <string name="phone_in_ecm_notification_complete_time" msgid="7341624337163082759">"Hora de restablecimiento de conexión de datos: <xliff:g id="COMPLETETIME">%s</xliff:g>"</string>
-    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="5425906903766466743">
-      <item quantity="other">El teléfono estará en el modo de llamada de emergencia durante <xliff:g id="COUNT_1">%s</xliff:g> minutos. Mientras esté en este modo, no se podrá utilizar ninguna aplicación que utilice una conexión de datos. ¿Quieres salir ahora?</item>
-      <item quantity="one">El teléfono estará en el modo de llamada de emergencia durante <xliff:g id="COUNT_0">%s</xliff:g> minuto. Mientras esté en este modo, no se podrá utilizar ninguna aplicación que utilice una conexión de datos. ¿Quieres salir ahora?</item>
-    </plurals>
-    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="1152682528741457004">
-      <item quantity="other">La acción seleccionada no está disponible en el modo de llamada de emergencia. El teléfono estará en este modo durante <xliff:g id="COUNT_1">%s</xliff:g> minutos. ¿Quieres salir ahora?</item>
-      <item quantity="one">La acción seleccionada no está disponible en el modo de llamada de emergencia. El teléfono estará en este modo durante <xliff:g id="COUNT_0">%s</xliff:g> minuto. ¿Quieres salir ahora?</item>
-    </plurals>
+    <string name="alert_dialog_exit_ecm" msgid="7661603870224398025">"{count,plural, =1{El teléfono estará en modo de devolución de llamada de emergencia durante un minuto. En este modo, no se podrá usar ninguna app que requiera una conexión de datos. ¿Quieres salir ahora?}other{El teléfono estará en modo de devolución de llamada de emergencia durante %s minutos. En este modo, no se podrá usar ninguna app que requiera una conexión de datos. ¿Quieres salir ahora?}}"</string>
+    <string name="alert_dialog_not_avaialble_in_ecm" msgid="8717711120099503279">"{count,plural, =1{La acción seleccionada no está disponible cuando el teléfono se encuentra en modo de devolución de llamada de emergencia. El teléfono estará en este modo durante un minuto. ¿Quieres salir ahora?}other{La acción seleccionada no está disponible cuando el teléfono se encuentra en modo de devolución de llamada de emergencia. El teléfono estará en este modo durante %s minutos. ¿Quieres salir ahora?}}"</string>
     <string name="alert_dialog_in_ecm_call" msgid="1207545603149771978">"La acción seleccionada no está disponible durante una llamada de emergencia."</string>
     <string name="progress_dialog_exiting_ecm" msgid="9159080081676927217">"Saliendo del modo de llamada de retorno de emergencia"</string>
     <string name="alert_dialog_yes" msgid="3532525979632841417">"Sí"</string>
@@ -652,10 +646,7 @@
     <string name="alert_dialog_dismiss" msgid="1336356286354517054">"Descartar"</string>
     <string name="phone_in_ecm_call_notification_text_without_data_restriction_hint" msgid="3747860785153531225">"El teléfono está en modo de devolución de llamadas de emergencia"</string>
     <string name="phone_in_ecm_notification_complete_time_without_data_restriction_hint" msgid="3690292264812050858">"Hasta las <xliff:g id="COMPLETETIME">%s</xliff:g>"</string>
-    <plurals name="alert_dialog_exit_ecm_without_data_restriction_hint" formatted="false" msgid="6477733043040328640">
-      <item quantity="other">El teléfono estará en modo de devolución de llamada de emergencia durante <xliff:g id="COUNT_1">%s</xliff:g> minutos.\n¿Quieres salir ahora?</item>
-      <item quantity="one">El teléfono estará en modo de devolución de llamada de emergencia durante <xliff:g id="COUNT_0">%s</xliff:g> minuto.\n¿Quieres salir ahora?</item>
-    </plurals>
+    <string name="alert_dialog_exit_ecm_without_data_restriction_hint" msgid="7549850847524907932">"{count,plural, =1{El teléfono estará en modo de devolución de llamada de emergencia durante un minuto.\n¿Quieres salir ahora?}other{El teléfono estará en modo de devolución de llamada de emergencia durante %s minutos.\n¿Quieres salir ahora?}}"</string>
     <string name="voicemail_provider" msgid="4158806657253745294">"Servicio"</string>
     <string name="voicemail_settings" msgid="4451045613238972776">"Configuración"</string>
     <string name="voicemail_number_not_set" msgid="8831561283386938155">"&lt;Sin configurar&gt;"</string>
@@ -683,7 +674,6 @@
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"Accesibilidad"</string>
     <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"Llamada con Wi-Fi de"</string>
     <string name="status_hint_label_wifi_call" msgid="942993035689809853">"Llamada por Wi-Fi"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"Presionar de nuevo para abrir"</string>
     <string name="message_decode_error" msgid="1061856591500290887">"Se produjo un error al decodificar el mensaje."</string>
     <string name="callFailed_cdma_activation" msgid="5392057031552253550">"Una tarjeta SIM activó tu servicio y actualizó las capacidades de roaming del teléfono."</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"Hay demasiadas llamadas activas. Finaliza o combina las llamadas existentes antes de realizar una llamada nueva."</string>
@@ -827,7 +817,7 @@
     <string name="callFailed_already_dialing" msgid="7250591188960691086">"No puedes realizar la llamada porque ya estás marcando otra llamada saliente."</string>
     <string name="callFailed_already_ringing" msgid="2376603543544289303">"No puedes realizar la llamada porque tienes una llamada entrante que no respondiste. Respóndela o recházala antes de realizar una nueva."</string>
     <string name="callFailed_calling_disabled" msgid="5010992739401206283">"No puedes realizar la llamada porque se desactivaron las llamadas con la propiedad ro.telephony.disable-call del sistema."</string>
-    <string name="callFailed_too_many_calls" msgid="5379426826618582180">"No puedes realizar la llamada porque hay dos llamadas en curso. Antes de realizar una nueva, desconecta una de ellas o combínalas en una conferencia."</string>
+    <string name="callFailed_too_many_calls" msgid="2761754044990799580">"No puedes hacer la llamada porque hay dos llamadas en curso. Finaliza una de ellas o combínalas en una conferencia antes de llamar de nuevo."</string>
     <string name="supp_service_over_ut_precautions" msgid="2145018231396701311">"Para usar <xliff:g id="SUPP_SERVICE">%s</xliff:g>, asegúrate de que los datos móviles estén activados. Puedes cambiar esto en la configuración de la red móvil."</string>
     <string name="supp_service_over_ut_precautions_roaming" msgid="670342104569972327">"Para usar <xliff:g id="SUPP_SERVICE">%s</xliff:g>, asegúrate de que los datos móviles y el roaming de datos estén activados. Puedes cambiar esto en la configuración de la red móvil."</string>
     <string name="supp_service_over_ut_precautions_dual_sim" msgid="5166866975550910474">"Para usar <xliff:g id="SUPP_SERVICE">%1$s</xliff:g>, asegúrate de que los datos móviles estén activados para la SIM <xliff:g id="SIM_NUMBER">%2$d</xliff:g>. Puedes cambiar esto en la configuración de la red móvil."</string>
@@ -845,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"Debes reiniciar el dispositivo para cambiar este parámetro de configuración."</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"Reiniciar"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"Cancelar"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"Establecer eSIM extraíble como predeterminada"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"Potencia de la señal móvil"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"Ver libreta de direcciones de SIM"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"Ver números de marcación fija"</string>
@@ -899,6 +890,7 @@
     <string name="radio_info_band_mode_label" msgid="23480556225515290">"Seleccionar banda de radio"</string>
     <string name="radio_info_voice_network_type_label" msgid="2395347336419593265">"Tipo de red de voz:"</string>
     <string name="radio_info_data_network_type_label" msgid="8886597029237501929">"Tipo de red de datos:"</string>
+    <string name="radio_info_override_network_type_label" msgid="4176280017221092005">"Anular tipo de red:"</string>
     <string name="phone_index_label" msgid="6222406512768964268">"Seleccionar guía telefónica"</string>
     <string name="radio_info_set_perferred_label" msgid="7408131389363136210">"Establecer el tipo de red preferida:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="6951237885381284790">"Hacer ping a IPv4 de nombre de host (www.google.com):"</string>
@@ -910,10 +902,10 @@
     <string name="radio_info_smsc_refresh_label" msgid="8409923721451604560">"Actualizar"</string>
     <string name="radio_info_toggle_dns_check_label" msgid="1394078554927787350">"Activar o desactivar la comprobación de DNS"</string>
     <string name="oem_radio_info_label" msgid="2914167475119997456">"Configuración/Datos específicos del OEM"</string>
-    <string name="radio_info_endc_available" msgid="4410653375290113436">"EN-DC disponible:"</string>
-    <string name="radio_info_dcnr_restricted" msgid="2469125498066960807">"DCNR restringida:"</string>
-    <string name="radio_info_nr_available" msgid="1321318331361249997">"NR disponible:"</string>
-    <string name="radio_info_nr_state" msgid="1337571996788535356">"Estado de NR:"</string>
+    <string name="radio_info_endc_available" msgid="2983767110681230019">"EN-DC disponible (NSA):"</string>
+    <string name="radio_info_dcnr_restricted" msgid="7147511536420148173">"DCNR restringido (NSA):"</string>
+    <string name="radio_info_nr_available" msgid="3383388088451237182">"NR disponible (NSA):"</string>
+    <string name="radio_info_nr_state" msgid="4158805093187555149">"Estado de NR (NSA):"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"Frecuencia de NR:"</string>
     <string name="band_mode_title" msgid="7988822920724576842">"Establecer modo de banda de radio"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"Cargando lista de bandas…"</string>
diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml
index fecf020..e78123b 100644
--- a/res/values-es/strings.xml
+++ b/res/values-es/strings.xml
@@ -637,14 +637,8 @@
     <string name="phone_in_ecm_notification_title" msgid="6825016389926367946">"Modo de devolución de llamada de emergencia"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="653972232922670335">"Conexión de datos inhabilitada"</string>
     <string name="phone_in_ecm_notification_complete_time" msgid="7341624337163082759">"No hay conexión de datos hasta las <xliff:g id="COMPLETETIME">%s</xliff:g>"</string>
-    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="5425906903766466743">
-      <item quantity="other">Se activará el modo de devolución de llamada de emergencia en el teléfono durante <xliff:g id="COUNT_1">%s</xliff:g> minutos. En este modo, no se puede utilizar ninguna aplicación que emplee una conexión de datos. ¿Quieres salir?</item>
-      <item quantity="one">Se activará el modo de devolución de llamada de emergencia en el teléfono durante <xliff:g id="COUNT_0">%s</xliff:g> minuto. En este modo, no se puede utilizar ninguna aplicación que emplee una conexión de datos. ¿Quieres salir?</item>
-    </plurals>
-    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="1152682528741457004">
-      <item quantity="other">La acción seleccionada no está disponible en el modo de devolución de llamada de emergencia. Se activará este modo en el teléfono durante <xliff:g id="COUNT_1">%s</xliff:g> minutos. ¿Quieres salir?</item>
-      <item quantity="one">La acción seleccionada no está disponible en el modo de devolución de llamada de emergencia. Se activará este modo en el teléfono durante <xliff:g id="COUNT_0">%s</xliff:g> minuto. ¿Quieres salir?</item>
-    </plurals>
+    <string name="alert_dialog_exit_ecm" msgid="7661603870224398025">"{count,plural, =1{El teléfono permanecerá en el modo de devolución de llamada de emergencia durante un minuto. En este modo, no se podrán usar las aplicaciones que utilicen una conexión de datos. ¿Quieres salir ahora?}other{El teléfono permanecerá en el modo de devolución de llamada de emergencia durante %s minutos. En este modo, no se podrán usar las aplicaciones que utilicen una conexión de datos. ¿Quieres salir ahora?}}"</string>
+    <string name="alert_dialog_not_avaialble_in_ecm" msgid="8717711120099503279">"{count,plural, =1{La acción seleccionada no está disponible en el modo de devolución de llamada de emergencia. El teléfono permanecerá en este modo durante un minuto. ¿Quieres salir ahora?}other{La acción seleccionada no está disponible en el modo de devolución de llamada de emergencia. El teléfono permanecerá en este modo durante %s minutos. ¿Quieres salir ahora?}}"</string>
     <string name="alert_dialog_in_ecm_call" msgid="1207545603149771978">"La acción seleccionada no está disponible durante una llamada de emergencia."</string>
     <string name="progress_dialog_exiting_ecm" msgid="9159080081676927217">"Saliendo del modo de devolución de llamada de emergencia"</string>
     <string name="alert_dialog_yes" msgid="3532525979632841417">"Sí"</string>
@@ -652,10 +646,7 @@
     <string name="alert_dialog_dismiss" msgid="1336356286354517054">"Cerrar"</string>
     <string name="phone_in_ecm_call_notification_text_without_data_restriction_hint" msgid="3747860785153531225">"El teléfono está en modo de devolución de llamada de emergencia"</string>
     <string name="phone_in_ecm_notification_complete_time_without_data_restriction_hint" msgid="3690292264812050858">"Hasta las <xliff:g id="COMPLETETIME">%s</xliff:g>"</string>
-    <plurals name="alert_dialog_exit_ecm_without_data_restriction_hint" formatted="false" msgid="6477733043040328640">
-      <item quantity="other">El teléfono estará en modo de devolución de llamada de emergencia durante <xliff:g id="COUNT_1">%s</xliff:g> minutos.\n¿Quieres salir ahora?</item>
-      <item quantity="one">El teléfono estará en modo de devolución de llamada de emergencia durante <xliff:g id="COUNT_0">%s</xliff:g> minuto.\n¿Quieres salir ahora?</item>
-    </plurals>
+    <string name="alert_dialog_exit_ecm_without_data_restriction_hint" msgid="7549850847524907932">"{count,plural, =1{El teléfono estará en modo de devolución de llamada de emergencia durante un minuto.\n¿Quieres salir ahora?}other{El teléfono estará en modo de devolución de llamada de emergencia durante %s minutos.\n¿Quieres salir ahora?}}"</string>
     <string name="voicemail_provider" msgid="4158806657253745294">"Servicio"</string>
     <string name="voicemail_settings" msgid="4451045613238972776">"Configuración"</string>
     <string name="voicemail_number_not_set" msgid="8831561283386938155">"&lt;Sin establecer&gt;"</string>
@@ -683,7 +674,6 @@
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"Accesibilidad"</string>
     <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"Llamada por Wi-Fi de"</string>
     <string name="status_hint_label_wifi_call" msgid="942993035689809853">"Llamada Wi-Fi"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"Toca de nuevo para abrir"</string>
     <string name="message_decode_error" msgid="1061856591500290887">"Se ha producido un error al decodificar el mensaje."</string>
     <string name="callFailed_cdma_activation" msgid="5392057031552253550">"Una tarjeta SIM ha activado tu servicio y actualizado la función de roaming del teléfono."</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"Hay demasiadas llamadas activas. Finaliza o combina las llamadas que tienes antes de iniciar otra."</string>
@@ -827,7 +817,7 @@
     <string name="callFailed_already_dialing" msgid="7250591188960691086">"No se puede llamar porque ya se está realizando otra llamada."</string>
     <string name="callFailed_already_ringing" msgid="2376603543544289303">"No se puede llamar porque hay una llamada entrante sin responder. Contéstala o recházala para poder llamar de nuevo."</string>
     <string name="callFailed_calling_disabled" msgid="5010992739401206283">"No se puede llamar porque se han inhabilitado las llamadas mediante la propiedad del sistema ro.telephony.disable-call."</string>
-    <string name="callFailed_too_many_calls" msgid="5379426826618582180">"No se puede llamar porque ya hay dos llamadas en curso. Interrumpe una de ellas o combínalas en una conferencia para poder llamar de nuevo."</string>
+    <string name="callFailed_too_many_calls" msgid="2761754044990799580">"No se puede llamar porque ya hay dos llamadas en curso. Interrumpe una de ellas o combínalas en una conferencia antes de hacer otra llamada."</string>
     <string name="supp_service_over_ut_precautions" msgid="2145018231396701311">"Para utilizar <xliff:g id="SUPP_SERVICE">%s</xliff:g>, los datos móviles deben estar activados. Puedes cambiar esta opción en los ajustes de red móvil."</string>
     <string name="supp_service_over_ut_precautions_roaming" msgid="670342104569972327">"Para utilizar <xliff:g id="SUPP_SERVICE">%s</xliff:g>, los datos móviles y el roaming de datos deben estar activados. Puedes cambiar estas opciones en los ajustes de red móvil."</string>
     <string name="supp_service_over_ut_precautions_dual_sim" msgid="5166866975550910474">"Para utilizar <xliff:g id="SUPP_SERVICE">%1$s</xliff:g>, los datos móviles deben estar activados en la SIM <xliff:g id="SIM_NUMBER">%2$d</xliff:g>. Puedes cambiar esta opción en los ajustes de red móvil."</string>
@@ -845,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"Debes reiniciar el dispositivo para cambiar este ajuste."</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"Reiniciar"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"Cancelar"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"Establecer eSIM extraíble como predeterminada"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"Potencia de la señal móvil"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"Ver libreta de direcciones de tarjeta SIM"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"Ver números de marcación fija"</string>
@@ -899,6 +890,7 @@
     <string name="radio_info_band_mode_label" msgid="23480556225515290">"Seleccionar banda de señal móvil"</string>
     <string name="radio_info_voice_network_type_label" msgid="2395347336419593265">"Tipo de red de voz:"</string>
     <string name="radio_info_data_network_type_label" msgid="8886597029237501929">"Tipo de red de datos:"</string>
+    <string name="radio_info_override_network_type_label" msgid="4176280017221092005">"Anular tipo de red:"</string>
     <string name="phone_index_label" msgid="6222406512768964268">"Seleccionar guía telefónica"</string>
     <string name="radio_info_set_perferred_label" msgid="7408131389363136210">"Establecer tipo de red preferido:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="6951237885381284790">"Hacer ping a IPv4 de nombre de host (www.google.com):"</string>
@@ -910,10 +902,10 @@
     <string name="radio_info_smsc_refresh_label" msgid="8409923721451604560">"Actualizar"</string>
     <string name="radio_info_toggle_dns_check_label" msgid="1394078554927787350">"Activar o desactivar comprobación de DNS"</string>
     <string name="oem_radio_info_label" msgid="2914167475119997456">"Ajustes o información específica de OEM"</string>
-    <string name="radio_info_endc_available" msgid="4410653375290113436">"EN-DC disponible:"</string>
-    <string name="radio_info_dcnr_restricted" msgid="2469125498066960807">"DCNR restringido:"</string>
-    <string name="radio_info_nr_available" msgid="1321318331361249997">"NR disponible:"</string>
-    <string name="radio_info_nr_state" msgid="1337571996788535356">"Estado de NR:"</string>
+    <string name="radio_info_endc_available" msgid="2983767110681230019">"EN-DC disponible (NSA):"</string>
+    <string name="radio_info_dcnr_restricted" msgid="7147511536420148173">"DCNR restringido (NSA):"</string>
+    <string name="radio_info_nr_available" msgid="3383388088451237182">"NR disponible (NSA):"</string>
+    <string name="radio_info_nr_state" msgid="4158805093187555149">"Estado de NR (NSA):"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"Frecuencia de NR:"</string>
     <string name="band_mode_title" msgid="7988822920724576842">"Establecer modo de banda de señal móvil"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"Cargando lista de bandas…"</string>
diff --git a/res/values-et/strings.xml b/res/values-et/strings.xml
index 076160a..5495ffb 100644
--- a/res/values-et/strings.xml
+++ b/res/values-et/strings.xml
@@ -637,14 +637,8 @@
     <string name="phone_in_ecm_notification_title" msgid="6825016389926367946">"Hädaolukorra tagasihelistusrežiim"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="653972232922670335">"Andmeühendus keelatud"</string>
     <string name="phone_in_ecm_notification_complete_time" msgid="7341624337163082759">"Kuni kella <xliff:g id="COMPLETETIME">%s</xliff:g> andmesideühendus puudub"</string>
-    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="5425906903766466743">
-      <item quantity="other">Telefon on <xliff:g id="COUNT_1">%s</xliff:g> minutit hädaabikõne tagasihelistamise režiimis. Selles režiimis olles ei saa kasutada ühtegi rakendust, mis kasutab andmesideühendust. Kas soovite kohe väljuda?</item>
-      <item quantity="one">Telefon on <xliff:g id="COUNT_0">%s</xliff:g> minuti hädaabikõne tagasihelistamise režiimis. Selles režiimis olles ei saa kasutada ühtegi rakendust, mis kasutab andmesideühendust. Kas soovite kohe väljuda?</item>
-    </plurals>
-    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="1152682528741457004">
-      <item quantity="other">Valitud toiming pole hädaabikõne tagasihelistamise režiimis saadaval. Telefon on selles režiimis <xliff:g id="COUNT_1">%s</xliff:g> minutit. Kas soovite kohe väljuda?</item>
-      <item quantity="one">Valitud toiming pole hädaabikõne tagasihelistamise režiimis saadaval. Telefon on selles režiimis <xliff:g id="COUNT_0">%s</xliff:g> minuti. Kas soovite kohe väljuda?</item>
-    </plurals>
+    <string name="alert_dialog_exit_ecm" msgid="7661603870224398025">"{count,plural, =1{Telefon on hädaolukorra tagasihelistusrežiimis üks minut. Selles režiimis ei saa kasutada ühtegi andmesideühendusel põhinevat rakendust. Kas soovite kohe väljuda?}other{Telefon on hädaolukorra tagasihelistusrežiimis %s minutit. Selles režiimis ei saa kasutada ühtegi andmesideühendust kasutavat rakendust. Kas soovite kohe väljuda?}}"</string>
+    <string name="alert_dialog_not_avaialble_in_ecm" msgid="8717711120099503279">"{count,plural, =1{Valitud toiming ei ole hädaolukorra tagasihelistusrežiimis kättesaadav. Telefon on selles režiimis üks minut. Kas soovite kohe väljuda?}other{Valitud toiming pole hädaolukorra tagasihelistusrežiimis kättesaadav. Telefon on selles režiimis %s minutit. Kas soovite kohe väljuda?}}"</string>
     <string name="alert_dialog_in_ecm_call" msgid="1207545603149771978">"Valitud toiming ei ole hädaabikõne ajal saadaval."</string>
     <string name="progress_dialog_exiting_ecm" msgid="9159080081676927217">"Väljumine hädaolukorra tagasihelistusrežiimist"</string>
     <string name="alert_dialog_yes" msgid="3532525979632841417">"Jah"</string>
@@ -652,10 +646,7 @@
     <string name="alert_dialog_dismiss" msgid="1336356286354517054">"Loobu"</string>
     <string name="phone_in_ecm_call_notification_text_without_data_restriction_hint" msgid="3747860785153531225">"Telefon on hädaolukorra tagasihelistusrežiimis"</string>
     <string name="phone_in_ecm_notification_complete_time_without_data_restriction_hint" msgid="3690292264812050858">"Kuni <xliff:g id="COMPLETETIME">%s</xliff:g>"</string>
-    <plurals name="alert_dialog_exit_ecm_without_data_restriction_hint" formatted="false" msgid="6477733043040328640">
-      <item quantity="other">Telefon on hädaolukorra tagasihelistusrežiimis <xliff:g id="COUNT_1">%s</xliff:g> minutit.\nKas soovite kohe väljuda?</item>
-      <item quantity="one">Telefon on hädaolukorra tagasihelistusrežiimis <xliff:g id="COUNT_0">%s</xliff:g> minut.\nKas soovite kohe väljuda?</item>
-    </plurals>
+    <string name="alert_dialog_exit_ecm_without_data_restriction_hint" msgid="7549850847524907932">"{count,plural, =1{Telefon on hädaolukorra tagasihelistusrežiimis üks minut.\nKas soovite kohe väljuda?}other{Telefon on hädaolukorra tagasihelistusrežiimis %s minutit.\nKas soovite kohe väljuda?}}"</string>
     <string name="voicemail_provider" msgid="4158806657253745294">"Teenus"</string>
     <string name="voicemail_settings" msgid="4451045613238972776">"Seadistus"</string>
     <string name="voicemail_number_not_set" msgid="8831561283386938155">"&lt;Määramata&gt;"</string>
@@ -683,7 +674,6 @@
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"Juurdepääsetavus"</string>
     <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"WiFi-kõne:"</string>
     <string name="status_hint_label_wifi_call" msgid="942993035689809853">"WiFi-kõne"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"Avamiseks puudutage uuesti"</string>
     <string name="message_decode_error" msgid="1061856591500290887">"Sõnumi dekodeerimisel ilmnes viga."</string>
     <string name="callFailed_cdma_activation" msgid="5392057031552253550">"SIM-kaart aktiveeris teenuse ja värskendas telefoni rändlusvõimeid."</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"Liiga palju aktiivseid kõnesid. Enne uue kõne tegemist lõpetage mõni olemasolev kõne või ühendage mitu kõnet omavahel."</string>
@@ -827,7 +817,7 @@
     <string name="callFailed_already_dialing" msgid="7250591188960691086">"Kõnet ei saa teha, kuna teist väljuvat kõnet juba valitakse."</string>
     <string name="callFailed_already_ringing" msgid="2376603543544289303">"Kõnet ei saa teha, kuna telefonis on sissetulev vastamata kõne. Enne uue kõne tegemist vastake kõnele või katkestage see."</string>
     <string name="callFailed_calling_disabled" msgid="5010992739401206283">"Kõnet ei saa teha, kuna helistamine on süsteemi atribuudiga ro.telephony.disable-call keelatud."</string>
-    <string name="callFailed_too_many_calls" msgid="5379426826618582180">"Kõnet ei saa teha, kuna kaks kõnet on juba pooleli. Enne uue kõne tegemist katkestage üks kõnedest või liitke need konverentskõnedeks."</string>
+    <string name="callFailed_too_many_calls" msgid="2761754044990799580">"Kõnet ei saa teha, kuna kaks kõnet on juba pooleli. Enne uue kõne tegemist katkestage üks kõnedest või liitke need konverentskõnedeks."</string>
     <string name="supp_service_over_ut_precautions" msgid="2145018231396701311">"Teenuse <xliff:g id="SUPP_SERVICE">%s</xliff:g> kasutamiseks veenduge, et mobiilne andmeside oleks sisse lülitatud. Seda saab muuta mobiilsidevõrgu seadetes."</string>
     <string name="supp_service_over_ut_precautions_roaming" msgid="670342104569972327">"Teenuse <xliff:g id="SUPP_SERVICE">%s</xliff:g> kasutamiseks veenduge, et mobiilne andmeside ja andmesiderändlus oleks sisse lülitatud. Seda saab muuta mobiilsidevõrgu seadetes."</string>
     <string name="supp_service_over_ut_precautions_dual_sim" msgid="5166866975550910474">"Teenuse <xliff:g id="SUPP_SERVICE">%1$s</xliff:g> kasutamiseks veenduge, et mobiilne andmeside oleks SIM-kaardil <xliff:g id="SIM_NUMBER">%2$d</xliff:g> sisse lülitatud. Seda saab muuta mobiilsidevõrgu seadetes."</string>
@@ -845,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"Selle seade muutmiseks peate seadme taaskäivitama."</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"Taaskäivita"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"Tühista"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"Eemaldatava eSIM-i määramine vaikevalikuks"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"Mobiiliraadio toide"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"Kuva SIM-i aadressiraamat"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"Kuva fikseeritud valimisnumbrid"</string>
@@ -899,6 +890,7 @@
     <string name="radio_info_band_mode_label" msgid="23480556225515290">"Raadioriba valimine"</string>
     <string name="radio_info_voice_network_type_label" msgid="2395347336419593265">"Häälvõrgu tüüp:"</string>
     <string name="radio_info_data_network_type_label" msgid="8886597029237501929">"Andmesidevõrgu tüüp:"</string>
+    <string name="radio_info_override_network_type_label" msgid="4176280017221092005">"Võrgu tüübi alistamine:"</string>
     <string name="phone_index_label" msgid="6222406512768964268">"Telefoni registri valimine"</string>
     <string name="radio_info_set_perferred_label" msgid="7408131389363136210">"Eelistatud võrgutüübi määramine:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="6951237885381284790">"Pingi hosti nimi (www.google.com) IPv4:"</string>
@@ -910,10 +902,10 @@
     <string name="radio_info_smsc_refresh_label" msgid="8409923721451604560">"Värskendamine"</string>
     <string name="radio_info_toggle_dns_check_label" msgid="1394078554927787350">"DNS-i kontrolli sisse- või väljalülitamine"</string>
     <string name="oem_radio_info_label" msgid="2914167475119997456">"OEM-i teave/seaded"</string>
-    <string name="radio_info_endc_available" msgid="4410653375290113436">"EN-DC saadaval:"</string>
-    <string name="radio_info_dcnr_restricted" msgid="2469125498066960807">"DCNR piiratud:"</string>
-    <string name="radio_info_nr_available" msgid="1321318331361249997">"NR saadaval:"</string>
-    <string name="radio_info_nr_state" msgid="1337571996788535356">"NR-i olek:"</string>
+    <string name="radio_info_endc_available" msgid="2983767110681230019">"EN-DC on saadaval (NSA):"</string>
+    <string name="radio_info_dcnr_restricted" msgid="7147511536420148173">"DCNR on piiratud (NSA):"</string>
+    <string name="radio_info_nr_available" msgid="3383388088451237182">"NR on saadaval (NSA):"</string>
+    <string name="radio_info_nr_state" msgid="4158805093187555149">"NR-i olek (NSA):"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR-i sagedus:"</string>
     <string name="band_mode_title" msgid="7988822920724576842">"Raadio ribarežiimi määramine"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"Ribaloendi laadimine …"</string>
diff --git a/res/values-eu/strings.xml b/res/values-eu/strings.xml
index 295b863..75d461a 100644
--- a/res/values-eu/strings.xml
+++ b/res/values-eu/strings.xml
@@ -92,7 +92,7 @@
     <string name="additional_cdma_call_settings" msgid="2178016561980611304">"CDMA deien ezarpen gehigarriak"</string>
     <string name="sum_cdma_call_settings" msgid="3185825305136993636">"CDMA soilik motako deietarako ezarpen gehigarriak"</string>
     <string name="labelNwService" msgid="6015891883487125120">"Sareko zerbitzuen ezarpenak"</string>
-    <string name="labelCallerId" msgid="2090540744550903172">"Deitzailearen IDa"</string>
+    <string name="labelCallerId" msgid="2090540744550903172">"Deitzailearen identitatea"</string>
     <string name="sum_loading_settings" msgid="434063780286688775">"Ezarpenak kargatzen…"</string>
     <string name="sum_hide_caller_id" msgid="131100328602371933">"Ezkutatu zenbakia irteerako deietan"</string>
     <string name="sum_show_caller_id" msgid="3571854755324664591">"Erakutsi zenbakia irteerako deietan"</string>
@@ -167,7 +167,7 @@
     <string name="vm_change_pin_progress_message" msgid="626015184502739044">"Itxaron, mesedez."</string>
     <string name="vm_change_pin_error_too_short" msgid="1789139338449945483">"Laburregia da PIN berria."</string>
     <string name="vm_change_pin_error_too_long" msgid="3634907034310018954">"Luzeegia da PIN berria."</string>
-    <string name="vm_change_pin_error_too_weak" msgid="8581892952627885719">"Ez da batere segurua PIN berria. Pasahitza segurua izan dadin, ez du izan behar zenbaki-segidarik edo errepikatutako zenbakirik."</string>
+    <string name="vm_change_pin_error_too_weak" msgid="8581892952627885719">"Ez da batere segurua PIN berria. Pasahitz konplexuek ez dute izan behar zenbaki-segidarik edo errepikatutako zenbakirik."</string>
     <string name="vm_change_pin_error_mismatch" msgid="5364847280026257331">"PIN zaharra ez dator bat."</string>
     <string name="vm_change_pin_error_invalid" msgid="5230002671175580674">"Balio ez duten karaktereak ditu PIN berriak."</string>
     <string name="vm_change_pin_error_system_error" msgid="9116483527909681791">"Ezin da aldatu PINa"</string>
@@ -534,7 +534,7 @@
     <string name="notification_voicemail_no_vm_number" msgid="3423686009815186750">"Erantzungailuaren zenbakia ezezaguna da"</string>
     <string name="notification_network_selection_title" msgid="255595526707809121">"Ez dago zerbitzurik"</string>
     <string name="notification_network_selection_text" msgid="553288408722427659">"Hautatutako sarea (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) ez dago erabilgarri"</string>
-    <string name="incall_error_power_off" product="watch" msgid="7191184639454113633">"Deitzeko, aktibatu sare mugikorra, desaktibatu hegaldi modua edo desaktibatu bateria-aurrezlea."</string>
+    <string name="incall_error_power_off" product="watch" msgid="7191184639454113633">"Deitzeko, aktibatu sare mugikorra, desaktibatu hegaldi modua edo desaktibatu bateria-aurreztailea."</string>
     <string name="incall_error_power_off" product="default" msgid="8131672264311208673">"Deia egiteko, desaktibatu hegaldi modua."</string>
     <string name="incall_error_power_off_wfc" msgid="9125661184694727052">"Deia egiteko, desaktibatu hegaldi modua edo konektatu haririk gabeko sare batera."</string>
     <string name="incall_error_power_off_thermal" product="default" msgid="8695809601655300168"><b>"Telefonoa beroegi dago"</b>\n\n"Ezin da egin deia. Saiatu berriro telefonoa hozten denean.\n\nHala ere, larrialdi-deiak egin ditzakezu."</string>
@@ -637,14 +637,8 @@
     <string name="phone_in_ecm_notification_title" msgid="6825016389926367946">"Larrialdi-zerbitzuen deiak jasotzeko modua"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="653972232922670335">"Datu-konexioa desgaituta"</string>
     <string name="phone_in_ecm_notification_complete_time" msgid="7341624337163082759">"Ez duzu izango datu-konexiorik ordu honetara arte: <xliff:g id="COMPLETETIME">%s</xliff:g>"</string>
-    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="5425906903766466743">
-      <item quantity="other">Telefonoa larrialdi-zerbitzuen deiak jasotzeko moduan egongo da <xliff:g id="COUNT_1">%s</xliff:g> minutuz. Modu horretan dagoen bitartean, ezingo duzu datu-konexioa behar duen aplikaziorik erabili. Irten nahi duzu?</item>
-      <item quantity="one">Telefonoa larrialdi-zerbitzuen deiak jasotzeko moduan egongo da <xliff:g id="COUNT_0">%s</xliff:g> minutuz. Modu horretan dagoen bitartean, ezingo duzu datu-konexioa behar duen aplikaziorik erabili. Irten nahi duzu?</item>
-    </plurals>
-    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="1152682528741457004">
-      <item quantity="other">Hautatutako ekintza ez dago larrialdi-zerbitzuen deiak jasotzeko moduan erabilgarri. Telefonoa <xliff:g id="COUNT_1">%s</xliff:g> minutuz egongo da modu horretan. Irten nahi duzu?</item>
-      <item quantity="one">Hautatutako ekintza ez dago larrialdi-zerbitzuen deiak jasotzeko moduan erabilgarri. Telefonoa <xliff:g id="COUNT_0">%s</xliff:g> minutuz egongo da modu horretan. Irten nahi duzu?</item>
-    </plurals>
+    <string name="alert_dialog_exit_ecm" msgid="7661603870224398025">"{count,plural, =1{Telefonoa larrialdi-zerbitzuen deiak jasotzeko moduan egongo da minutu batez. Modu horretan dagoen bitartean, ezingo duzu erabili datu-konexioa behar duen aplikaziorik. Irten nahi duzu?}other{Telefonoa larrialdi-zerbitzuen deiak jasotzeko moduan egongo da %s minutuz. Modu horretan dagoen bitartean, ezingo duzu erabili datu-konexioa behar duen aplikaziorik. Irten nahi duzu?}}"</string>
+    <string name="alert_dialog_not_avaialble_in_ecm" msgid="8717711120099503279">"{count,plural, =1{Hautatutako ekintza ez dago erabilgarri larrialdi-zerbitzuen deiak jasotzeko moduan. Telefonoa minutu batez egongo da modu horretan. Irten nahi duzu?}other{Hautatutako ekintza ez dago erabilgarri larrialdi-zerbitzuen deiak jasotzeko moduan. Telefonoa %s minutuz egongo da modu horretan. Irten nahi duzu?}}"</string>
     <string name="alert_dialog_in_ecm_call" msgid="1207545603149771978">"Hautatutako ekintza ez dago erabilgarri larrialdi-deia egiten ari den bitartean."</string>
     <string name="progress_dialog_exiting_ecm" msgid="9159080081676927217">"Larrialdi-zerbitzuen deiak jasotzeko modutik irteten"</string>
     <string name="alert_dialog_yes" msgid="3532525979632841417">"Bai"</string>
@@ -652,10 +646,7 @@
     <string name="alert_dialog_dismiss" msgid="1336356286354517054">"Baztertu"</string>
     <string name="phone_in_ecm_call_notification_text_without_data_restriction_hint" msgid="3747860785153531225">"Larrialdi-zerbitzuen deiak jasotzeko moduan dago telefonoa"</string>
     <string name="phone_in_ecm_notification_complete_time_without_data_restriction_hint" msgid="3690292264812050858">"<xliff:g id="COMPLETETIME">%s</xliff:g> arte"</string>
-    <plurals name="alert_dialog_exit_ecm_without_data_restriction_hint" formatted="false" msgid="6477733043040328640">
-      <item quantity="other">Telefonoa <xliff:g id="COUNT_1">%s</xliff:g> minutuz egongo da larrialdi-zerbitzuen deiak jasotzeko moduan.\nIrten nahi duzu?</item>
-      <item quantity="one">Telefonoa <xliff:g id="COUNT_0">%s</xliff:g> minutuz egongo da larrialdi-zerbitzuen deiak jasotzeko moduan.\nIrten nahi duzu?</item>
-    </plurals>
+    <string name="alert_dialog_exit_ecm_without_data_restriction_hint" msgid="7549850847524907932">"{count,plural, =1{Telefonoa larrialdi-zerbitzuen deiak jasotzeko moduan egongo da minutu batez.\nIrten nahi duzu?}other{Telefonoa larrialdi-zerbitzuen deiak jasotzeko moduan egongo da %s minutuz.\nIrten nahi duzu?}}"</string>
     <string name="voicemail_provider" msgid="4158806657253745294">"Zerbitzua"</string>
     <string name="voicemail_settings" msgid="4451045613238972776">"Konfigurazioa"</string>
     <string name="voicemail_number_not_set" msgid="8831561283386938155">"&lt;Ezarri gabe&gt;"</string>
@@ -683,7 +674,6 @@
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"Erabilerraztasuna"</string>
     <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"Wi-Fi bidezko deia:"</string>
     <string name="status_hint_label_wifi_call" msgid="942993035689809853">"Wi-Fi deia"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"Irekitzeko, sakatu berriro"</string>
     <string name="message_decode_error" msgid="1061856591500290887">"Errore bat gertatu mezua deskodetzean."</string>
     <string name="callFailed_cdma_activation" msgid="5392057031552253550">"SIM txartel batek zerbitzua aktibatu du eta telefonoaren ibiltaritza-gaitasunak eguneratu ditu."</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"Dei gehiegi daude aktibo. Amaitu edo bateratu abian diren deiak beste bat egin aurretik."</string>
@@ -827,7 +817,7 @@
     <string name="callFailed_already_dialing" msgid="7250591188960691086">"Ezin da egin deia, beste dei bat abian delako."</string>
     <string name="callFailed_already_ringing" msgid="2376603543544289303">"Ezin da egin deia, oraindik erantzun ez diozun dei bat jasotzen ari zarelako. Beste dei bat egin aurretik, erantzun deiari edo bazter ezazu."</string>
     <string name="callFailed_calling_disabled" msgid="5010992739401206283">"Ezin da egin deia, deiak egiteko aukera desgaitu egin delako sistemaren ro.telephony.disable-call propietatea erabilita."</string>
-    <string name="callFailed_too_many_calls" msgid="5379426826618582180">"Ezin da egin deia, dagoeneko bi dei daudelako abian. Beste dei bat egin aurretik, eten deietako bat edo bateratu deiak konferentzia-dei bakarrean."</string>
+    <string name="callFailed_too_many_calls" msgid="2761754044990799580">"Ezin da egin deia, dagoeneko bi dei daudelako abian. Beste dei bat egin aurretik, eten deietako bat edo bateratu deiak konferentzia-dei bakarrean."</string>
     <string name="supp_service_over_ut_precautions" msgid="2145018231396701311">"<xliff:g id="SUPP_SERVICE">%s</xliff:g> erabiltzeko, ziurtatu datu-konexioa aktibatuta dagoela. Sare mugikorren ezarpenetan alda dezakezu aukera hau."</string>
     <string name="supp_service_over_ut_precautions_roaming" msgid="670342104569972327">"<xliff:g id="SUPP_SERVICE">%s</xliff:g> erabiltzeko, ziurtatu datu-konexioa eta datu-ibiltaritza aktibatuta daudela. Sare mugikorren ezarpenetan alda ditzakezu aukera horiek."</string>
     <string name="supp_service_over_ut_precautions_dual_sim" msgid="5166866975550910474">"<xliff:g id="SUPP_SERVICE">%1$s</xliff:g> erabiltzeko, ziurtatu datu-konexioa aktibatuta dagoela <xliff:g id="SIM_NUMBER">%2$d</xliff:g> SIM txartelean. Sare mugikorren ezarpenetan alda dezakezu aukera hori."</string>
@@ -845,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"Ezarpen hau aldatzeko, gailua berrabiarazi egin behar duzu."</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"Berrabiarazi"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"Utzi"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"Ezarri eSIM aldagarria lehenetsi gisa"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"Sare mugikor bidezko irratiaren indarra"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"Ikusi SIMeko kontaktuak"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"Ikusi markatze finkoko zenbakiak"</string>
@@ -899,6 +890,7 @@
     <string name="radio_info_band_mode_label" msgid="23480556225515290">"Hautatu irrati-banda"</string>
     <string name="radio_info_voice_network_type_label" msgid="2395347336419593265">"Ahots-deien sare mota:"</string>
     <string name="radio_info_data_network_type_label" msgid="8886597029237501929">"Datu-sare mota:"</string>
+    <string name="radio_info_override_network_type_label" msgid="4176280017221092005">"Ordeztu sare mota:"</string>
     <string name="phone_index_label" msgid="6222406512768964268">"Hautatu telefonoaren indizea"</string>
     <string name="radio_info_set_perferred_label" msgid="7408131389363136210">"Ezarri sare mota hobetsia:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="6951237885381284790">"Ping egiteko ostalari-izena (www.google.com) IPv4:"</string>
@@ -910,10 +902,10 @@
     <string name="radio_info_smsc_refresh_label" msgid="8409923721451604560">"Freskatu"</string>
     <string name="radio_info_toggle_dns_check_label" msgid="1394078554927787350">"Aldatu DNS egiaztapenaren egoera"</string>
     <string name="oem_radio_info_label" msgid="2914167475119997456">"Jatorrizko fabrikatzailearen berariazko informazioa edota ezarpenak"</string>
-    <string name="radio_info_endc_available" msgid="4410653375290113436">"EN-DC erabilgarri:"</string>
-    <string name="radio_info_dcnr_restricted" msgid="2469125498066960807">"DCNR mugatuta:"</string>
-    <string name="radio_info_nr_available" msgid="1321318331361249997">"NR erabilgarri:"</string>
-    <string name="radio_info_nr_state" msgid="1337571996788535356">"NR estatua:"</string>
+    <string name="radio_info_endc_available" msgid="2983767110681230019">"EN-DC erabilgarri (NSA):"</string>
+    <string name="radio_info_dcnr_restricted" msgid="7147511536420148173">"DCNR murriztua (NSA):"</string>
+    <string name="radio_info_nr_available" msgid="3383388088451237182">"NR erabilgarri (NSA):"</string>
+    <string name="radio_info_nr_state" msgid="4158805093187555149">"NR egoera (NSA):"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR maiztasuna:"</string>
     <string name="band_mode_title" msgid="7988822920724576842">"Ezarri irrati-bandaren modua"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"Banden zerrenda kargatzen…"</string>
diff --git a/res/values-fa/strings.xml b/res/values-fa/strings.xml
index 49e00fc..2c06784 100644
--- a/res/values-fa/strings.xml
+++ b/res/values-fa/strings.xml
@@ -451,7 +451,7 @@
     <string name="sum_fdn" msgid="6152246141642323582">"مدیریت شماره‌های شماره‌گیری ثابت"</string>
     <string name="sum_fdn_change_pin" msgid="3510994280557335727">"‏تغییر پین برای دسترسی FDN"</string>
     <string name="sum_fdn_manage_list" msgid="3311397063233992907">"مدیریت فهرست شماره تلفن"</string>
-    <string name="voice_privacy" msgid="7346935172372181951">"حریم‌خصوصی صوتی"</string>
+    <string name="voice_privacy" msgid="7346935172372181951">"حریم خصوصی صوتی"</string>
     <string name="voice_privacy_summary" msgid="3556460926168473346">"فعال کردن حالت رازداری پیشرفته"</string>
     <string name="tty_mode_option_title" msgid="3843817710032641703">"‏حالت TTY"</string>
     <string name="tty_mode_option_summary" msgid="4770510287236494371">"‏تنظیم حالت TTY"</string>
@@ -637,14 +637,8 @@
     <string name="phone_in_ecm_notification_title" msgid="6825016389926367946">"حال پاسخ تماس اضطراری"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="653972232922670335">"اتصال داده غیر فعال شد"</string>
     <string name="phone_in_ecm_notification_complete_time" msgid="7341624337163082759">"بدون اتصال داده تا <xliff:g id="COMPLETETIME">%s</xliff:g>"</string>
-    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="5425906903766466743">
-      <item quantity="one">تلفن برای <xliff:g id="COUNT_1">%s</xliff:g> دقیقه در حالت تماس اضطراری خواهد بود. در این حالت برنامه‌ای که از اتصال داده استفاده می‌کند، نمی‌تواند استفاده شود. می‌خواهید اکنون خارج شوید؟</item>
-      <item quantity="other">تلفن برای <xliff:g id="COUNT_1">%s</xliff:g> دقیقه در حالت تماس اضطراری خواهد بود. در این حالت برنامه‌ای که از اتصال داده استفاده می‌کند، نمی‌تواند استفاده شود. می‌خواهید اکنون خارج شوید؟</item>
-    </plurals>
-    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="1152682528741457004">
-      <item quantity="one">اقدام انتخاب شده در حالت تماس اضطراری در دسترس نیست. این تلفن برای <xliff:g id="COUNT_1">%s</xliff:g> دقیقه در این حالت خواهد بود. می‌خواهید اکنون خارج شوید؟</item>
-      <item quantity="other">اقدام انتخاب شده در حالت تماس اضطراری در دسترس نیست. این تلفن برای <xliff:g id="COUNT_1">%s</xliff:g> دقیقه در این حالت خواهد بود. می‌خواهید اکنون خارج شوید؟</item>
-    </plurals>
+    <!-- format error in translation for alert_dialog_exit_ecm (7661603870224398025) -->
+    <!-- format error in translation for alert_dialog_not_avaialble_in_ecm (8717711120099503279) -->
     <string name="alert_dialog_in_ecm_call" msgid="1207545603149771978">"در حین یک تماس اضطراری، عملکرد انتخابی در دسترس نیست."</string>
     <string name="progress_dialog_exiting_ecm" msgid="9159080081676927217">"خروج از حالت پاسخ تماس اضطراری"</string>
     <string name="alert_dialog_yes" msgid="3532525979632841417">"بله"</string>
@@ -652,10 +646,7 @@
     <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">
-      <item quantity="one">تلفن به مدت <xliff:g id="COUNT_1">%s</xliff:g> دقیقه در حالت «تماس اضطراری» خواهد بود.\nمی‌خواهید اکنون خارج شوید؟</item>
-      <item quantity="other">تلفن به مدت <xliff:g id="COUNT_1">%s</xliff:g> دقیقه در حالت «تماس اضطراری» خواهد بود.\nمی‌خواهید اکنون خارج شوید؟</item>
-    </plurals>
+    <!-- format error in translation for alert_dialog_exit_ecm_without_data_restriction_hint (7549850847524907932) -->
     <string name="voicemail_provider" msgid="4158806657253745294">"سرویس"</string>
     <string name="voicemail_settings" msgid="4451045613238972776">"تنظیم"</string>
     <string name="voicemail_number_not_set" msgid="8831561283386938155">"‏&lt;تنظیم نشده&gt;"</string>
@@ -683,7 +674,6 @@
     <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="callFailed_cdma_activation" msgid="5392057031552253550">"یک سیم‌کارت سرویس شما را فعال کرده است و قابلیت‌های فراگردی تلفنتان را به‌روز کرده است."</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"تعداد زیادی تماس فعال وجود دارد. قبل از برقراری تماس جدید، لطفاً به تماس‌های موجود پایان دهید یا آنها را ادغام کنید."</string>
@@ -827,7 +817,7 @@
     <string name="callFailed_already_dialing" msgid="7250591188960691086">"نمی‌توانید تماسی برقرار کنید، چون تماس خروجی دیگری درحال شماره‌گیری است."</string>
     <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="callFailed_too_many_calls" msgid="2761754044990799580">"نمی‌توانید تماسی برقرار کنید، زیرا هم‌اکنون دو تماس دیگر درحال انجام است. قبل‌از برقراری تماس جدید، یکی از تماس‌ها را قطع کنید یا آن‌ها را به‌صورت کنفرانسی ادغام کنید."</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>
@@ -845,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"برای تغییر این تنظیم، باید دستگاه را بازراه‌اندازی کنید."</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"بازراه‌اندازی"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"لغو"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"تنظیم سیم‌کارت داخلی جداشدنی به‌عنوان پیش‌فرض"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"توان رادیوی تلفن همراه"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"مشاهده دفترچه نشانی سیم‌کارت"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"مشاهده شماره‌های شماره‌گیری ثابت"</string>
@@ -899,6 +890,7 @@
     <string name="radio_info_band_mode_label" msgid="23480556225515290">"انتخاب باند رادیو"</string>
     <string name="radio_info_voice_network_type_label" msgid="2395347336419593265">"نوع شبکه صوتی:"</string>
     <string name="radio_info_data_network_type_label" msgid="8886597029237501929">"نوع شبکه داده:"</string>
+    <string name="radio_info_override_network_type_label" msgid="4176280017221092005">"ملغی کردن نوع شبکه:"</string>
     <string name="phone_index_label" msgid="6222406512768964268">"انتخاب نمایه تلفن"</string>
     <string name="radio_info_set_perferred_label" msgid="7408131389363136210">"تنظیم نوع شبکه ترجیحی:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="6951237885381284790">"‏پینگ کردن نام میزبان (www.google.com)‏ IPv4:"</string>
@@ -907,13 +899,13 @@
     <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>
-    <string name="radio_info_dcnr_restricted" msgid="2469125498066960807">"‏DCNR محدود شده است:"</string>
-    <string name="radio_info_nr_available" msgid="1321318331361249997">"‏NR دردسترس است:"</string>
-    <string name="radio_info_nr_state" msgid="1337571996788535356">"‏وضعیت NR:"</string>
+    <string name="radio_info_endc_available" msgid="2983767110681230019">"‏EN-DC دردسترس است (NSA):"</string>
+    <string name="radio_info_dcnr_restricted" msgid="7147511536420148173">"‏DCNR محدود شده است (NSA):"</string>
+    <string name="radio_info_nr_available" msgid="3383388088451237182">"‏NR دردسترس است (NSA):"</string>
+    <string name="radio_info_nr_state" msgid="4158805093187555149">"‏وضعیت NR‏ (NSA):"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"‏فرکانس NR:"</string>
     <string name="band_mode_title" msgid="7988822920724576842">"تنظیم حالت باند رادیو"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"درحال بار کردن فهرست باند…"</string>
diff --git a/res/values-fi/strings.xml b/res/values-fi/strings.xml
index 34d40a8..7c1f1f0 100644
--- a/res/values-fi/strings.xml
+++ b/res/values-fi/strings.xml
@@ -637,14 +637,8 @@
     <string name="phone_in_ecm_notification_title" msgid="6825016389926367946">"Hätäpuhelujen takaisinsoittotila"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="653972232922670335">"Verkkoyhteys pois käytöstä"</string>
     <string name="phone_in_ecm_notification_complete_time" msgid="7341624337163082759">"Datayhteyden voi muodostaa vasta <xliff:g id="COMPLETETIME">%s</xliff:g>."</string>
-    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="5425906903766466743">
-      <item quantity="other">Puhelin siirtyy hätäpuhelujen takaisinsoittotilaan <xliff:g id="COUNT_1">%s</xliff:g> minuutin ajaksi. Et voi käyttää verkkoyhteyttä hyödyntäviä sovelluksia tänä aikana. Haluatko poistua nyt?</item>
-      <item quantity="one">Puhelin siirtyy hätäpuhelujen takaisinsoittotilaan <xliff:g id="COUNT_0">%s</xliff:g> minuutin ajaksi. Et voi käyttää verkkoyhteyttä hyödyntäviä sovelluksia tänä aikana. Haluatko poistua nyt?</item>
-    </plurals>
-    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="1152682528741457004">
-      <item quantity="other">Valittua toimintoa ei voi käyttää, kun puhelin on hätäpuhelujen takaisinsoittotilassa. Puhelin on takaisinsoittotilassa <xliff:g id="COUNT_1">%s</xliff:g> minuutin ajan. Haluatko poistua nyt?</item>
-      <item quantity="one">Valittua toimintoa ei voi käyttää, kun puhelin on hätäpuhelujen takaisinsoittotilassa. Puhelin on takaisinsoittotilassa <xliff:g id="COUNT_0">%s</xliff:g> minuutin ajan. Haluatko poistua nyt?</item>
-    </plurals>
+    <string name="alert_dialog_exit_ecm" msgid="7661603870224398025">"{count,plural, =1{Puhelin on hätäpuhelujen takaisinsoittotilassa yhden minuutin ajan. Tässä tilassa datayhteyttä hyödyntäviä sovelluksia ei voi käyttää. Haluatko lopettaa nyt?}other{Puhelin on hätäpuhelujen takaisinsoittotilassa %s minuutin ajan. Tässä tilassa datayhteyttä hyödyntäviä sovelluksia ei voi käyttää. Haluatko lopettaa nyt?}}"</string>
+    <string name="alert_dialog_not_avaialble_in_ecm" msgid="8717711120099503279">"{count,plural, =1{Valittu toiminto ei ole käytettävissä hätäpuhelujen takaisinsoittotilassa. Puhelin pysyy tässä tilassa yhden minuutin ajan. Haluatko lopettaa nyt?}other{Valittu toiminto ei ole käytettävissä hätäpuhelujen takaisinsoittotilassa. Puhelin pysyy tässä tilassa %s minuutin ajan. Haluatko lopettaa nyt?}}"</string>
     <string name="alert_dialog_in_ecm_call" msgid="1207545603149771978">"Valittu toiminto ei ole käytettävissä hätäpuhelun aikana"</string>
     <string name="progress_dialog_exiting_ecm" msgid="9159080081676927217">"Poistutaan hätäpuhelujen takaisinsoittotilasta"</string>
     <string name="alert_dialog_yes" msgid="3532525979632841417">"Kyllä"</string>
@@ -652,10 +646,7 @@
     <string name="alert_dialog_dismiss" msgid="1336356286354517054">"Hylkää"</string>
     <string name="phone_in_ecm_call_notification_text_without_data_restriction_hint" msgid="3747860785153531225">"Puhelin on hätäpuhelujen takaisinsoittotilassa."</string>
     <string name="phone_in_ecm_notification_complete_time_without_data_restriction_hint" msgid="3690292264812050858">"<xliff:g id="COMPLETETIME">%s</xliff:g> asti"</string>
-    <plurals name="alert_dialog_exit_ecm_without_data_restriction_hint" formatted="false" msgid="6477733043040328640">
-      <item quantity="other">Puhelin on hätäpuhelujen takaisinsoittotilassa <xliff:g id="COUNT_1">%s</xliff:g> minuutin ajan.\nHaluatko poistua nyt?</item>
-      <item quantity="one">Puhelin on hätäpuhelujen takaisinsoittotilassa <xliff:g id="COUNT_0">%s</xliff:g> minuutin ajan.\nHaluatko poistua nyt?</item>
-    </plurals>
+    <string name="alert_dialog_exit_ecm_without_data_restriction_hint" msgid="7549850847524907932">"{count,plural, =1{Puhelin on hätäpuhelujen takaisinsoittotilassa yhden minuutin ajan.\nHaluatko lopettaa nyt?}other{Puhelin on hätäpuhelujen takaisinsoittotilassa %s minuutin ajan.\nHaluatko lopettaa nyt?}}"</string>
     <string name="voicemail_provider" msgid="4158806657253745294">"Palveluntarjoaja"</string>
     <string name="voicemail_settings" msgid="4451045613238972776">"Asetukset"</string>
     <string name="voicemail_number_not_set" msgid="8831561283386938155">"&lt;Ei asetettu&gt;"</string>
@@ -683,7 +674,6 @@
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"Esteettömyys"</string>
     <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"Wi-Fi-puhelu henkilöltä"</string>
     <string name="status_hint_label_wifi_call" msgid="942993035689809853">"Wi-Fi-puhelu"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"Avaa koskettamalla uudelleen."</string>
     <string name="message_decode_error" msgid="1061856591500290887">"Virhe purettaessa viestiä."</string>
     <string name="callFailed_cdma_activation" msgid="5392057031552253550">"SIM-kortti on aktivoinut palvelusi ja päivittänyt puhelimesi roaming-toiminnot."</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"Aktiivisia puheluja on liian monta. Lopeta puheluita tai yhdistä niitä ennen uuden puhelun aloittamista."</string>
@@ -827,7 +817,7 @@
     <string name="callFailed_already_dialing" msgid="7250591188960691086">"Puhelua ei voida soittaa, koska toisen lähtevän puhelun soittaminen on kesken."</string>
     <string name="callFailed_already_ringing" msgid="2376603543544289303">"Puhelua ei voida soittaa, koska saapuvaan puheluun ei ole vielä vastattu. Vastaa saapuvaan puheluun tai hylkää se, ennen kuin soitat uuden puhelun."</string>
     <string name="callFailed_calling_disabled" msgid="5010992739401206283">"Puhelua ei voida soittaa, koska soittaminen on poistettu käytöstä ro.telephony.disable-call-järjestelmätoiminnolla."</string>
-    <string name="callFailed_too_many_calls" msgid="5379426826618582180">"Puhelua ei voida soittaa, koska kaksi puhelua on jo käynnissä. Katkaise toinen puheluista tai yhdistä puhelut puhelinneuvotteluksi ennen uuden puhelun soittamista."</string>
+    <string name="callFailed_too_many_calls" msgid="2761754044990799580">"Puhelua ei voida soittaa, koska kaksi puhelua on jo käynnissä. Katkaise toinen puheluista tai yhdistä puhelut neuvotteluksi ennen uuden puhelun soittamista."</string>
     <string name="supp_service_over_ut_precautions" msgid="2145018231396701311">"<xliff:g id="SUPP_SERVICE">%s</xliff:g> toimii, jos mobiilidata on käytössä. Voit ottaa mobiilidatan käyttöön mobiiliverkkoasetuksista."</string>
     <string name="supp_service_over_ut_precautions_roaming" msgid="670342104569972327">"<xliff:g id="SUPP_SERVICE">%s</xliff:g> toimii, jos mobiilidata ja roaming ovat käytössä. Voit ottaa ne käyttöön mobiiliverkkoasetuksista."</string>
     <string name="supp_service_over_ut_precautions_dual_sim" msgid="5166866975550910474">"<xliff:g id="SUPP_SERVICE">%1$s</xliff:g> toimii, jos mobiilidata on käytössä SIM-kortilla <xliff:g id="SIM_NUMBER">%2$d</xliff:g>. Voit ottaa mobiilidatan käyttöön mobiiliverkkoasetuksista."</string>
@@ -845,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"Laite on käynnistettävä uudelleen asetuksen muuttamiseksi."</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"Käynnistä uudelleen"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"Peru"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"Aseta poistettava eSIM oletukseksi"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"Mobiiliradion voimakkuus"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"Näytä SIM-kortin osoitekirja"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"Näytä sallitut numerot"</string>
@@ -899,10 +890,11 @@
     <string name="radio_info_band_mode_label" msgid="23480556225515290">"Valitse radiotaajuus"</string>
     <string name="radio_info_voice_network_type_label" msgid="2395347336419593265">"Äänipuhelujen verkon tyyppi:"</string>
     <string name="radio_info_data_network_type_label" msgid="8886597029237501929">"Tietoverkon tyyppi:"</string>
+    <string name="radio_info_override_network_type_label" msgid="4176280017221092005">"Ohita verkon tyyppi:"</string>
     <string name="phone_index_label" msgid="6222406512768964268">"Valitse puhelimen hakemisto"</string>
     <string name="radio_info_set_perferred_label" msgid="7408131389363136210">"Aseta ensisijainen verkon tyyppi:"</string>
-    <string name="radio_info_ping_hostname_v4" msgid="6951237885381284790">"Ping-kutsu isäntänimelle (www.google.com), IPv4:"</string>
-    <string name="radio_info_ping_hostname_v6" msgid="2748637889486554603">"Ping-kutsu isäntänimelle (www.google.com), IPv6:"</string>
+    <string name="radio_info_ping_hostname_v4" msgid="6951237885381284790">"Ping isäntänimelle (www.google.com), IPv4:"</string>
+    <string name="radio_info_ping_hostname_v6" msgid="2748637889486554603">"Ping isäntänimelle (www.google.com), IPv6:"</string>
     <string name="radio_info_http_client_test" msgid="1329583721088428238">"HTTP-asiakastesti:"</string>
     <string name="ping_test_label" msgid="448617502935719694">"Suorita ping-testi"</string>
     <string name="radio_info_smsc_label" msgid="3749927072726033763">"SMSC:"</string>
@@ -910,10 +902,10 @@
     <string name="radio_info_smsc_refresh_label" msgid="8409923721451604560">"Päivitä"</string>
     <string name="radio_info_toggle_dns_check_label" msgid="1394078554927787350">"Ota DNS-tarkistus käyttöön tai poista se käytöstä"</string>
     <string name="oem_radio_info_label" msgid="2914167475119997456">"OEM-kohtaiset tiedot/asetukset"</string>
-    <string name="radio_info_endc_available" msgid="4410653375290113436">"EN-DC saatavilla:"</string>
-    <string name="radio_info_dcnr_restricted" msgid="2469125498066960807">"DCNR rajoitettu:"</string>
-    <string name="radio_info_nr_available" msgid="1321318331361249997">"NR saatavilla:"</string>
-    <string name="radio_info_nr_state" msgid="1337571996788535356">"NR:n tila:"</string>
+    <string name="radio_info_endc_available" msgid="2983767110681230019">"EN-DC saatavana (NSA):"</string>
+    <string name="radio_info_dcnr_restricted" msgid="7147511536420148173">"DCNR rajoitettu (NSA):"</string>
+    <string name="radio_info_nr_available" msgid="3383388088451237182">"NR saatavana (NSA):"</string>
+    <string name="radio_info_nr_state" msgid="4158805093187555149">"NR:n tila (NSA):"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR:n taajuus:"</string>
     <string name="band_mode_title" msgid="7988822920724576842">"Radion taajuustilan valinta"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"Ladataan taajuusluetteloa…"</string>
diff --git a/res/values-fr-rCA/strings.xml b/res/values-fr-rCA/strings.xml
index 3236666..364ca42 100644
--- a/res/values-fr-rCA/strings.xml
+++ b/res/values-fr-rCA/strings.xml
@@ -637,14 +637,8 @@
     <string name="phone_in_ecm_notification_title" msgid="6825016389926367946">"Mode de rappel d\'urgence"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="653972232922670335">"Connexion des données désactivée"</string>
     <string name="phone_in_ecm_notification_complete_time" msgid="7341624337163082759">"Aucune connexion de données avant <xliff:g id="COMPLETETIME">%s</xliff:g>"</string>
-    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="5425906903766466743">
-      <item quantity="one">Le téléphone sera en mode de rappel d\'urgence pendant <xliff:g id="COUNT_1">%s</xliff:g> minute.  Lorsque ce mode est activé, vous ne pouvez pas utiliser d\'applications nécessitant une connexion à Internet. Voulez-vous quitter l\'écran maintenant?</item>
-      <item quantity="other"> Le téléphone sera en mode de rappel d\'urgence pendant <xliff:g id="COUNT_1">%s</xliff:g> minutes. Lorsque ce mode est activé, vous ne pouvez pas utiliser d\'applications nécessitant une connexion à Internet. Voulez-vous quitter l\'écran maintenant?</item>
-    </plurals>
-    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="1152682528741457004">
-      <item quantity="one">L\'action sélectionnée n\'est pas disponible lorsque le mode de rappel d\'urgence est activé. Ce mode restera activé sur ce téléphone pendant <xliff:g id="COUNT_1">%s</xliff:g> minute. Voulez-vous quitter l\'écran maintenant?</item>
-      <item quantity="other">L\'action sélectionnée n\'est pas disponible lorsque le mode de rappel d\'urgence est activé. Ce mode restera activé sur ce téléphone pendant <xliff:g id="COUNT_1">%s</xliff:g> minutes. Voulez-vous quitter l\'écran maintenant?</item>
-    </plurals>
+    <!-- format error in translation for alert_dialog_exit_ecm (7661603870224398025) -->
+    <!-- format error in translation for alert_dialog_not_avaialble_in_ecm (8717711120099503279) -->
     <string name="alert_dialog_in_ecm_call" msgid="1207545603149771978">"L\'action sélectionnée n\'est pas disponible pendant un appel d\'urgence."</string>
     <string name="progress_dialog_exiting_ecm" msgid="9159080081676927217">"Sortie du mode de rappel d\'urgence…"</string>
     <string name="alert_dialog_yes" msgid="3532525979632841417">"Oui"</string>
@@ -652,10 +646,7 @@
     <string name="alert_dialog_dismiss" msgid="1336356286354517054">"Ignorer"</string>
     <string name="phone_in_ecm_call_notification_text_without_data_restriction_hint" msgid="3747860785153531225">"Le téléphone est en mode de rappel d\'urgence"</string>
     <string name="phone_in_ecm_notification_complete_time_without_data_restriction_hint" msgid="3690292264812050858">"Jusqu\'à <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">Le mode de rappel d\'urgence sera activé sur le téléphone pour une durée de <xliff:g id="COUNT_1">%s</xliff:g> minute.\nVoulez-vous quitter ce mode maintenant?</item>
-      <item quantity="other">Le mode de rappel d\'urgence sera activé sur le téléphone pour une durée de <xliff:g id="COUNT_1">%s</xliff:g> minutes.\nVoulez-vous quitter ce mode maintenant?</item>
-    </plurals>
+    <!-- format error in translation for alert_dialog_exit_ecm_without_data_restriction_hint (7549850847524907932) -->
     <string name="voicemail_provider" msgid="4158806657253745294">"Service"</string>
     <string name="voicemail_settings" msgid="4451045613238972776">"Configuration"</string>
     <string name="voicemail_number_not_set" msgid="8831561283386938155">"&lt;Non défini&gt;"</string>
@@ -683,7 +674,6 @@
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"Accessibilité"</string>
     <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"Appel Wi-Fi de"</string>
     <string name="status_hint_label_wifi_call" msgid="942993035689809853">"Appel Wi-Fi"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"Touchez à nouveau pour ouvrir"</string>
     <string name="message_decode_error" msgid="1061856591500290887">"Une erreur s\'est produite lors du décodage du message."</string>
     <string name="callFailed_cdma_activation" msgid="5392057031552253550">"Une carte SIM a activé votre service et mis à jour les fonctionnalités d\'itinérance de votre téléphone."</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"Il y a trop d\'appels actifs. Veuillez mettre fin aux appels existants ou les fusionner avant d\'en passer un nouveau."</string>
@@ -827,7 +817,7 @@
     <string name="callFailed_already_dialing" msgid="7250591188960691086">"Impossible de passer un appel, car un autre appel sortant est déjà en cours de composition."</string>
     <string name="callFailed_already_ringing" msgid="2376603543544289303">"Impossible de passer un appel, car il y a un appel entrant sans réponse. Répondez à l\'appel entrant ou refusez-le avant de passer un nouvel appel."</string>
     <string name="callFailed_calling_disabled" msgid="5010992739401206283">"Impossible de passer un appel, car la fonction d\'appel a été désactivée à l\'aide de la propriété système ro.telephony.disable-call."</string>
-    <string name="callFailed_too_many_calls" msgid="5379426826618582180">"Impossible de passer un appel, car deux appels sont déjà en cours. Déconnectez-en un ou fusionnez-les en conférence téléphonique avant de passer un nouvel appel."</string>
+    <string name="callFailed_too_many_calls" msgid="2761754044990799580">"Impossible de passer un appel, car deux appels sont déjà en cours. Déconnectez-en un ou fusionnez-les en conférence téléphonique avant de passer un nouvel appel."</string>
     <string name="supp_service_over_ut_precautions" msgid="2145018231396701311">"Avant d\'utiliser <xliff:g id="SUPP_SERVICE">%s</xliff:g>, assurez-vous que les données cellulaires sont activées. Vous pouvez modifier cette option dans les paramètres du réseau cellulaire."</string>
     <string name="supp_service_over_ut_precautions_roaming" msgid="670342104569972327">"Avant d\'utiliser <xliff:g id="SUPP_SERVICE">%s</xliff:g>, assurez-vous que les données cellulaires et l\'itinérance des données sont activées. Vous pouvez modifier ces options dans les paramètres du réseau cellulaire."</string>
     <string name="supp_service_over_ut_precautions_dual_sim" msgid="5166866975550910474">"Avant d\'utiliser <xliff:g id="SUPP_SERVICE">%1$s</xliff:g>, assurez-vous que les données cellulaires sont activées pour la carte SIM <xliff:g id="SIM_NUMBER">%2$d</xliff:g>. Vous pouvez modifier cette option dans les paramètres du réseau cellulaire."</string>
@@ -845,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"Vous devez redémarrer votre appareil pour modifier ce paramètre."</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"Redémarrer"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"Annuler"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"Définir la carte eSIM amovible comme carte SIM par défaut"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"Alimentation de radio cellulaire"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"Afficher le carnet d\'adresses de la carte SIM"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"Afficher les numéros d\'appel fixes"</string>
@@ -899,6 +890,7 @@
     <string name="radio_info_band_mode_label" msgid="23480556225515290">"Sélectionner la bande radio"</string>
     <string name="radio_info_voice_network_type_label" msgid="2395347336419593265">"Type de réseau vocal :"</string>
     <string name="radio_info_data_network_type_label" msgid="8886597029237501929">"Type de réseau de données :"</string>
+    <string name="radio_info_override_network_type_label" msgid="4176280017221092005">"Remplacer le type de réseau :"</string>
     <string name="phone_index_label" msgid="6222406512768964268">"Sélectionner l\'indice du téléphone"</string>
     <string name="radio_info_set_perferred_label" msgid="7408131389363136210">"Définir le type de réseau préféré :"</string>
     <string name="radio_info_ping_hostname_v4" msgid="6951237885381284790">"Faire un ping de l\'IPv4 du nom d\'hôte (www.google.com) :"</string>
@@ -910,10 +902,10 @@
     <string name="radio_info_smsc_refresh_label" msgid="8409923721451604560">"Actualiser"</string>
     <string name="radio_info_toggle_dns_check_label" msgid="1394078554927787350">"Basculer la vérification DNS"</string>
     <string name="oem_radio_info_label" msgid="2914167475119997456">"Informations/paramètres OEM"</string>
-    <string name="radio_info_endc_available" msgid="4410653375290113436">"EN-DC disponible :"</string>
-    <string name="radio_info_dcnr_restricted" msgid="2469125498066960807">"DCNR restreinte :"</string>
-    <string name="radio_info_nr_available" msgid="1321318331361249997">"NR disponible :"</string>
-    <string name="radio_info_nr_state" msgid="1337571996788535356">"État NR :"</string>
+    <string name="radio_info_endc_available" msgid="2983767110681230019">"Disponibilité EN-DC (NSA) :"</string>
+    <string name="radio_info_dcnr_restricted" msgid="7147511536420148173">"Restriction DCNR (NSA) :"</string>
+    <string name="radio_info_nr_available" msgid="3383388088451237182">"Disponibilité NR (NSA) :"</string>
+    <string name="radio_info_nr_state" msgid="4158805093187555149">"État NR (NSA) :"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"Fréquence NR :"</string>
     <string name="band_mode_title" msgid="7988822920724576842">"Définir le mode de bande radio"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"Chargement de la liste de bandes en cours…"</string>
diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml
index 957e361..901c032 100644
--- a/res/values-fr/strings.xml
+++ b/res/values-fr/strings.xml
@@ -637,14 +637,8 @@
     <string name="phone_in_ecm_notification_title" msgid="6825016389926367946">"Mode de rappel d\'urgence"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="653972232922670335">"Connexion des données désactivée"</string>
     <string name="phone_in_ecm_notification_complete_time" msgid="7341624337163082759">"Aucune connexion Internet mobile jusqu\'à <xliff:g id="COMPLETETIME">%s</xliff:g>"</string>
-    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="5425906903766466743">
-      <item quantity="one">Le téléphone sera en mode de rappel d\'urgence pendant <xliff:g id="COUNT_1">%s</xliff:g> minute. Lorsque ce mode est activé, vous ne pouvez pas utiliser d\'applications nécessitant une connexion à Internet. Voulez-vous quitter l\'écran maintenant ?</item>
-      <item quantity="other">Le téléphone sera en mode de rappel d\'urgence pendant <xliff:g id="COUNT_1">%s</xliff:g> minutes. Lorsque ce mode est activé, vous ne pouvez pas utiliser d\'applications nécessitant une connexion à Internet. Voulez-vous quitter l\'écran maintenant ?</item>
-    </plurals>
-    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="1152682528741457004">
-      <item quantity="one">L\'action sélectionnée n\'est pas disponible lorsque le mode de rappel d\'urgence est activé. Ce mode restera activé sur ce téléphone pendant <xliff:g id="COUNT_1">%s</xliff:g> minute. Voulez-vous quitter l\'écran maintenant ?</item>
-      <item quantity="other">L\'action sélectionnée n\'est pas disponible lorsque le mode de rappel d\'urgence est activé. Ce mode restera activé sur ce téléphone pendant <xliff:g id="COUNT_1">%s</xliff:g> minute. Voulez-vous quitter l\'écran maintenant ?</item>
-    </plurals>
+    <!-- format error in translation for alert_dialog_exit_ecm (7661603870224398025) -->
+    <!-- format error in translation for alert_dialog_not_avaialble_in_ecm (8717711120099503279) -->
     <string name="alert_dialog_in_ecm_call" msgid="1207545603149771978">"L\'action sélectionnée n\'est pas disponible pendant un appel d\'urgence."</string>
     <string name="progress_dialog_exiting_ecm" msgid="9159080081676927217">"Sortie du mode de rappel d\'urgence…"</string>
     <string name="alert_dialog_yes" msgid="3532525979632841417">"Oui"</string>
@@ -652,10 +646,7 @@
     <string name="alert_dialog_dismiss" msgid="1336356286354517054">"Ignorer"</string>
     <string name="phone_in_ecm_call_notification_text_without_data_restriction_hint" msgid="3747860785153531225">"Le téléphone est en mode de rappel d\'urgence"</string>
     <string name="phone_in_ecm_notification_complete_time_without_data_restriction_hint" msgid="3690292264812050858">"Jusqu\'à <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">Le téléphone sera en mode de rappel d\'urgence pendant <xliff:g id="COUNT_1">%s</xliff:g> minutes.\nSouhaitez-vous quitter ce mode maintenant ?</item>
-      <item quantity="other">Le téléphone sera en mode de rappel d\'urgence pendant <xliff:g id="COUNT_1">%s</xliff:g> minutes.\nSouhaitez-vous quitter ce mode maintenant ?</item>
-    </plurals>
+    <!-- format error in translation for alert_dialog_exit_ecm_without_data_restriction_hint (7549850847524907932) -->
     <string name="voicemail_provider" msgid="4158806657253745294">"Service"</string>
     <string name="voicemail_settings" msgid="4451045613238972776">"Configuration"</string>
     <string name="voicemail_number_not_set" msgid="8831561283386938155">"&lt;Non défini&gt;"</string>
@@ -683,7 +674,6 @@
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"Accessibilité"</string>
     <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"Appel Wi-Fi de"</string>
     <string name="status_hint_label_wifi_call" msgid="942993035689809853">"Appel Wi-Fi"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"Appuyez à nouveau pour ouvrir."</string>
     <string name="message_decode_error" msgid="1061856591500290887">"Une erreur s\'est produite lors du décodage du message."</string>
     <string name="callFailed_cdma_activation" msgid="5392057031552253550">"Votre service a été activé et les fonctionnalités d\'itinérance de votre téléphone ont été mises à jour via une carte SIM."</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"Il y a trop d\'appels actifs. Pour passer un autre appel, vous devez mettre fin aux appels existants ou fusionner ces derniers."</string>
@@ -827,7 +817,7 @@
     <string name="callFailed_already_dialing" msgid="7250591188960691086">"Impossible de passer un appel lorsqu\'un appel sortant est déjà en cours."</string>
     <string name="callFailed_already_ringing" msgid="2376603543544289303">"Impossible de passer un appel lorsqu\'un appel entrant attend une réponse. Répondez à cet appel ou refusez-le avant de passer un nouvel appel."</string>
     <string name="callFailed_calling_disabled" msgid="5010992739401206283">"Impossible de passer un appel, car la fonction d\'appel a été désactivée à l\'aide de la propriété système ro.telephony.disable-call."</string>
-    <string name="callFailed_too_many_calls" msgid="5379426826618582180">"Impossible de passer un appel, car deux appels sont déjà en cours. Mettez fin à l\'un des appels ou fusionnez-les afin de créer une conférence avant de passer un nouvel appel."</string>
+    <string name="callFailed_too_many_calls" msgid="2761754044990799580">"Impossible de passer un appel, car deux appels sont déjà en cours. Mettez fin à l\'un des appels ou fusionnez-les afin de créer une conférence avant de passer un nouvel appel."</string>
     <string name="supp_service_over_ut_precautions" msgid="2145018231396701311">"Pour utiliser <xliff:g id="SUPP_SERVICE">%s</xliff:g>, assurez-vous que les données mobiles sont activées. Vous pouvez modifier cette option dans les paramètres de réseau mobile."</string>
     <string name="supp_service_over_ut_precautions_roaming" msgid="670342104569972327">"Pour utiliser <xliff:g id="SUPP_SERVICE">%s</xliff:g>, assurez-vous que les données mobiles et l\'itinérance des données sont activées. Vous pouvez modifier ces options dans les paramètres de réseau mobile."</string>
     <string name="supp_service_over_ut_precautions_dual_sim" msgid="5166866975550910474">"Pour utiliser <xliff:g id="SUPP_SERVICE">%1$s</xliff:g>, assurez-vous que les données mobiles sont activées pour la carte SIM <xliff:g id="SIM_NUMBER">%2$d</xliff:g>. Vous pouvez modifier cette option dans les paramètres de réseau mobile."</string>
@@ -845,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"Vous devez redémarrer l\'appareil pour modifier ce paramètre."</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"Redémarrer"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"Annuler"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"Définir l\'eSIM amovible comme SIM par défaut"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"Alimentation radio mobile"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"Afficher le carnet d\'adresses de la carte SIM"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"Afficher les numéros autorisés"</string>
@@ -899,6 +890,7 @@
     <string name="radio_info_band_mode_label" msgid="23480556225515290">"Sélectionner une bande radio"</string>
     <string name="radio_info_voice_network_type_label" msgid="2395347336419593265">"Type de réseau vocal :"</string>
     <string name="radio_info_data_network_type_label" msgid="8886597029237501929">"Type de réseau de données :"</string>
+    <string name="radio_info_override_network_type_label" msgid="4176280017221092005">"Ignorer le type de réseau :"</string>
     <string name="phone_index_label" msgid="6222406512768964268">"Sélectionner l\'identifiant du téléphone"</string>
     <string name="radio_info_set_perferred_label" msgid="7408131389363136210">"Définir le type de réseau préféré :"</string>
     <string name="radio_info_ping_hostname_v4" msgid="6951237885381284790">"Pinguer l\'IPv4 du nom d\'hôte (www.google.com) :"</string>
@@ -910,10 +902,10 @@
     <string name="radio_info_smsc_refresh_label" msgid="8409923721451604560">"Actualiser"</string>
     <string name="radio_info_toggle_dns_check_label" msgid="1394078554927787350">"Activer/Désactiver le contrôle DNS"</string>
     <string name="oem_radio_info_label" msgid="2914167475119997456">"Infos/paramètres OEM"</string>
-    <string name="radio_info_endc_available" msgid="4410653375290113436">"Accès EN-DC disponible :"</string>
-    <string name="radio_info_dcnr_restricted" msgid="2469125498066960807">"Limitation DCNR :"</string>
-    <string name="radio_info_nr_available" msgid="1321318331361249997">"Accès NR disponible :"</string>
-    <string name="radio_info_nr_state" msgid="1337571996788535356">"État NR :"</string>
+    <string name="radio_info_endc_available" msgid="2983767110681230019">"Accès EN-DC disponible (NSA) :"</string>
+    <string name="radio_info_dcnr_restricted" msgid="7147511536420148173">"Limitation DCNR (NSA) :"</string>
+    <string name="radio_info_nr_available" msgid="3383388088451237182">"Accès NR disponible (NSA) :"</string>
+    <string name="radio_info_nr_state" msgid="4158805093187555149">"État NR (NSA) :"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"Fréquence NR :"</string>
     <string name="band_mode_title" msgid="7988822920724576842">"Définir le mode de bande radio"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"Chargement de la liste de bandes…"</string>
diff --git a/res/values-gl/strings.xml b/res/values-gl/strings.xml
index 6fdca2d..5d34666 100644
--- a/res/values-gl/strings.xml
+++ b/res/values-gl/strings.xml
@@ -637,14 +637,8 @@
     <string name="phone_in_ecm_notification_title" msgid="6825016389926367946">"Modo de devolución de chamadas de emerxencia"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="653972232922670335">"Conexión de datos desactivada"</string>
     <string name="phone_in_ecm_notification_complete_time" msgid="7341624337163082759">"Sen conexión de datos ata: <xliff:g id="COMPLETETIME">%s</xliff:g>"</string>
-    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="5425906903766466743">
-      <item quantity="other">O teléfono estará no modo de devolución de chamada de emerxencia durante <xliff:g id="COUNT_1">%s</xliff:g> minutos. Mentres se atope neste modo, non se poderá usar ningunha aplicación que utilice unha conexión de datos. Queres saír agora?</item>
-      <item quantity="one">O teléfono estará no modo de devolución de chamada de emerxencia durante <xliff:g id="COUNT_0">%s</xliff:g> minuto. Mentres se atope neste modo, non se poderá usar ningunha aplicación que utilice unha conexión de datos. Queres saír agora?</item>
-    </plurals>
-    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="1152682528741457004">
-      <item quantity="other">A acción seleccionada non está dispoñible durante o modo de devolución de chamadas de emerxencia. O teléfono estará neste modo durante <xliff:g id="COUNT_1">%s</xliff:g> minutos. Queres saír agora?</item>
-      <item quantity="one">A acción seleccionada non está dispoñible durante o modo de devolución de chamadas de emerxencia. O teléfono estará neste modo durante <xliff:g id="COUNT_0">%s</xliff:g> minuto. Queres saír agora?</item>
-    </plurals>
+    <string name="alert_dialog_exit_ecm" msgid="7661603870224398025">"{count,plural, =1{O teléfono estará en modo de devolución de chamada de emerxencia durante un minuto. Mentres está neste modo, non se poden utilizar aplicacións que usen conexión de datos. Queres saír agora?}other{O teléfono estará en modo de devolución de chamada de emerxencia durante %s minutos. Mentres está neste modo, non se poden utilizar aplicacións que usen conexión de datos. Queres saír agora?}}"</string>
+    <string name="alert_dialog_not_avaialble_in_ecm" msgid="8717711120099503279">"{count,plural, =1{A acción seleccionada non está dispoñible durante o modo de devolución de chamada de emerxencia. O teléfono estará neste modo durante un minuto. Queres saír agora?}other{A acción seleccionada non está dispoñible durante o modo de devolución de chamada de emerxencia. O teléfono estará neste modo durante %s minutos. Queres saír agora?}}"</string>
     <string name="alert_dialog_in_ecm_call" msgid="1207545603149771978">"A acción seleccionada non está dispoñible durante as chamadas de emerxencia."</string>
     <string name="progress_dialog_exiting_ecm" msgid="9159080081676927217">"Saíndo do modo de devolución de chamadas de emerxencia"</string>
     <string name="alert_dialog_yes" msgid="3532525979632841417">"Si"</string>
@@ -652,10 +646,7 @@
     <string name="alert_dialog_dismiss" msgid="1336356286354517054">"Rexeitar"</string>
     <string name="phone_in_ecm_call_notification_text_without_data_restriction_hint" msgid="3747860785153531225">"O teléfono está no modo de devolución de chamadas de emerxencia"</string>
     <string name="phone_in_ecm_notification_complete_time_without_data_restriction_hint" msgid="3690292264812050858">"Ata: <xliff:g id="COMPLETETIME">%s</xliff:g>"</string>
-    <plurals name="alert_dialog_exit_ecm_without_data_restriction_hint" formatted="false" msgid="6477733043040328640">
-      <item quantity="other">O teléfono estará no modo de devolución de chamadas de emerxencia durante <xliff:g id="COUNT_1">%s</xliff:g> minutos.\nQueres saír agora?</item>
-      <item quantity="one">O teléfono estará no modo de devolución de chamadas de emerxencia durante <xliff:g id="COUNT_0">%s</xliff:g> minuto.\nQueres saír agora?</item>
-    </plurals>
+    <string name="alert_dialog_exit_ecm_without_data_restriction_hint" msgid="7549850847524907932">"{count,plural, =1{O teléfono estará no modo de devolución de chamada de emerxencia durante un minuto.\nQueres saír agora?}other{O teléfono estará no modo de devolución de chamada de emerxencia durante %s minutos.\nQueres saír agora?}}"</string>
     <string name="voicemail_provider" msgid="4158806657253745294">"Servizo"</string>
     <string name="voicemail_settings" msgid="4451045613238972776">"Configuración"</string>
     <string name="voicemail_number_not_set" msgid="8831561283386938155">"&lt;Sen configurar&gt;"</string>
@@ -683,7 +674,6 @@
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"Accesibilidade"</string>
     <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"Chamada por wifi de"</string>
     <string name="status_hint_label_wifi_call" msgid="942993035689809853">"Chamada wifi"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"Toca de novo para abrir"</string>
     <string name="message_decode_error" msgid="1061856591500290887">"Produciuse un erro durante a descodificación da mensaxe."</string>
     <string name="callFailed_cdma_activation" msgid="5392057031552253550">"A tarxeta SIM activou o teu servizo e actualizou as funcións de itinerancia do teléfono."</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"Hai moitas chamadas activas. Finaliza as chamadas existentes ou combínaas antes de facer unha nova."</string>
@@ -827,7 +817,7 @@
     <string name="callFailed_already_dialing" msgid="7250591188960691086">"Non podes facer unha chamada porque xa hai outra en curso."</string>
     <string name="callFailed_already_ringing" msgid="2376603543544289303">"Non podes chamar porque te están chamando nestes momentos. Para poder facer unha chamada, primeiro tes que responder á outra ou rexeitala."</string>
     <string name="callFailed_calling_disabled" msgid="5010992739401206283">"Non podes realizar unha chamada porque se desactivou esa función a través da propiedade do sistema ro.telephony.disable-call."</string>
-    <string name="callFailed_too_many_calls" msgid="5379426826618582180">"Non podes realizar unha chamada porque xa hai dúas en curso. Para poder chamar, desconecta unha das que están en curso ou combínaas nunha conferencia."</string>
+    <string name="callFailed_too_many_calls" msgid="2761754044990799580">"Non podes facer unha chamada porque xa hai dúas en curso. Para poder facer unha chamada nova, desconecta unha das dúas ou combínaas nunha conferencia."</string>
     <string name="supp_service_over_ut_precautions" msgid="2145018231396701311">"Para usar <xliff:g id="SUPP_SERVICE">%s</xliff:g>, asegúrate de que os datos móbiles están activados. Podes cambiar esta opción na configuración de rede de telefonía móbil."</string>
     <string name="supp_service_over_ut_precautions_roaming" msgid="670342104569972327">"Para usar <xliff:g id="SUPP_SERVICE">%s</xliff:g>, asegúrate de que os datos móbiles e a itinerancia de datos están activados. Podes cambiar esta opción na configuración de rede de telefonía móbil."</string>
     <string name="supp_service_over_ut_precautions_dual_sim" msgid="5166866975550910474">"Para usar <xliff:g id="SUPP_SERVICE">%1$s</xliff:g>, asegúrate de que os datos móbiles da SIM <xliff:g id="SIM_NUMBER">%2$d</xliff:g> están activados. Podes cambiar esta opción na configuración de rede de telefonía móbil."</string>
@@ -845,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"Debes reiniciar o dispositivo para cambiar esta opción"</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"Reiniciar"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"Cancelar"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"Establecer eSIM extraíble como predeterminada"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"Alimentación da radio móbil"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"Ver axenda de enderezos da SIM"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"Ver números de marcación fixa"</string>
@@ -899,6 +890,7 @@
     <string name="radio_info_band_mode_label" msgid="23480556225515290">"Seleccionar banda de radio"</string>
     <string name="radio_info_voice_network_type_label" msgid="2395347336419593265">"Tipo de rede de voz:"</string>
     <string name="radio_info_data_network_type_label" msgid="8886597029237501929">"Tipo de rede de datos:"</string>
+    <string name="radio_info_override_network_type_label" msgid="4176280017221092005">"Ignorar tipo de rede:"</string>
     <string name="phone_index_label" msgid="6222406512768964268">"Seleccionar unha guía telefónica"</string>
     <string name="radio_info_set_perferred_label" msgid="7408131389363136210">"Definir o tipo de rede preferido:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="6951237885381284790">"Facer ping ao IPv4 do nome do servidor (www.google.com):"</string>
@@ -910,10 +902,10 @@
     <string name="radio_info_smsc_refresh_label" msgid="8409923721451604560">"Actualizar"</string>
     <string name="radio_info_toggle_dns_check_label" msgid="1394078554927787350">"Alternar comprobación de DNS"</string>
     <string name="oem_radio_info_label" msgid="2914167475119997456">"Información ou configuración específica de OEM"</string>
-    <string name="radio_info_endc_available" msgid="4410653375290113436">"EN-DC dispoñible:"</string>
-    <string name="radio_info_dcnr_restricted" msgid="2469125498066960807">"DCNR con restricións:"</string>
-    <string name="radio_info_nr_available" msgid="1321318331361249997">"NR dispoñible:"</string>
-    <string name="radio_info_nr_state" msgid="1337571996788535356">"Estado de NR:"</string>
+    <string name="radio_info_endc_available" msgid="2983767110681230019">"EN-DC dispoñible (NSA):"</string>
+    <string name="radio_info_dcnr_restricted" msgid="7147511536420148173">"DCNR restrinxido (NSA):"</string>
+    <string name="radio_info_nr_available" msgid="3383388088451237182">"NR dispoñible (NSA):"</string>
+    <string name="radio_info_nr_state" msgid="4158805093187555149">"Estado de NR (NSA):"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"Frecuencia de NR:"</string>
     <string name="band_mode_title" msgid="7988822920724576842">"Definir modo de banda de radio"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"Cargando lista de bandas…"</string>
diff --git a/res/values-gu/strings.xml b/res/values-gu/strings.xml
index 454dc44..5d8548e 100644
--- a/res/values-gu/strings.xml
+++ b/res/values-gu/strings.xml
@@ -637,14 +637,8 @@
     <string name="phone_in_ecm_notification_title" msgid="6825016389926367946">"કટોકટી કૉલબેક મોડ"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="653972232922670335">"ડેટા કનેક્શન અક્ષમ કરેલ છે"</string>
     <string name="phone_in_ecm_notification_complete_time" msgid="7341624337163082759">"<xliff:g id="COMPLETETIME">%s</xliff:g> સુધી કોઈ ડેટા કનેક્શન નથી"</string>
-    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="5425906903766466743">
-      <item quantity="one">ફોન <xliff:g id="COUNT_1">%s</xliff:g> મિનિટ સુધી કટોકટી કૉલબેક મોડમાં રહેશે. આ મોડમાં હોય ત્યારે ડેટા કનેક્શનનો ઉપયોગ કરતી કોઈપણ એપ્લિકેશન્સનો ઉપયોગ થઈ શકશે નહીં. શું તમે હમણાં બહાર નીકળવા માગો છો?</item>
-      <item quantity="other">ફોન <xliff:g id="COUNT_1">%s</xliff:g> મિનિટ સુધી કટોકટી કૉલબેક મોડમાં રહેશે. આ મોડમાં હોય ત્યારે ડેટા કનેક્શનનો ઉપયોગ કરતી કોઈપણ એપ્લિકેશન્સનો ઉપયોગ થઈ શકશે નહીં. શું તમે હમણાં બહાર નીકળવા માગો છો?</item>
-    </plurals>
-    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="1152682528741457004">
-      <item quantity="one">કટોકટી કૉલબેક મોડમાં હોય ત્યારે પસંદ કરેલ ક્રિયા ઉપલબ્ધ રહેતી નથી. ફોન <xliff:g id="COUNT_1">%s</xliff:g> મિનિટ સુધી આ મોડમાં રહેશે. શું તમે હમણાં બહાર નીકળવા માગો છો?</item>
-      <item quantity="other">કટોકટી કૉલબેક મોડમાં હોય ત્યારે પસંદ કરેલ ક્રિયા ઉપલબ્ધ રહેતી નથી. ફોન <xliff:g id="COUNT_1">%s</xliff:g> મિનિટ સુધી આ મોડમાં રહેશે. શું તમે હમણાં બહાર નીકળવા માગો છો?</item>
-    </plurals>
+    <!-- format error in translation for alert_dialog_exit_ecm (7661603870224398025) -->
+    <!-- format error in translation for alert_dialog_not_avaialble_in_ecm (8717711120099503279) -->
     <string name="alert_dialog_in_ecm_call" msgid="1207545603149771978">"કટોકટી કૉલમાં હોય ત્યારે પસંદ કરેલ ક્રિયા ઉપલબ્ધ રહેતી નથી."</string>
     <string name="progress_dialog_exiting_ecm" msgid="9159080081676927217">"કટોકટી કૉલબેક મોડમાંથી બહાર નીકળે છે"</string>
     <string name="alert_dialog_yes" msgid="3532525979632841417">"હા"</string>
@@ -652,10 +646,7 @@
     <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">
-      <item quantity="one">ફોન <xliff:g id="COUNT_1">%s</xliff:g> મિનિટ માટે ઇમર્જન્સી કૉલબૅક મોડમાં રહેશે.\nશું તમે હમણાં બહાર નીકળવા માગો છો?</item>
-      <item quantity="other">ફોન <xliff:g id="COUNT_1">%s</xliff:g> મિનિટ માટે ઇમર્જન્સી કૉલબૅક મોડમાં રહેશે.\nશું તમે હમણાં બહાર નીકળવા માગો છો?</item>
-    </plurals>
+    <!-- format error in translation for alert_dialog_exit_ecm_without_data_restriction_hint (7549850847524907932) -->
     <string name="voicemail_provider" msgid="4158806657253745294">"સેવા"</string>
     <string name="voicemail_settings" msgid="4451045613238972776">"સેટઅપ"</string>
     <string name="voicemail_number_not_set" msgid="8831561283386938155">"&lt;સેટ કરેલ નથી&gt;"</string>
@@ -683,7 +674,6 @@
     <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="callFailed_cdma_activation" msgid="5392057031552253550">"એક SIM કાર્ડ એ તમારી સેવા સક્રિય કરી છે અને તમારા ફોનની રોમિંગ ક્ષમતાઓને અપડેટ કરી છે."</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"અહીં ઘણા બધા સક્રિય કૉલ્સ છે. કૃપા કરીને એક નવો કૉલ કરવા પહેલાં અસ્તિત્વમાંના કૉલ્સને સમાપ્ત કરો અથવા મર્જ કરો."</string>
@@ -827,7 +817,7 @@
     <string name="callFailed_already_dialing" msgid="7250591188960691086">"કૉલ કરી શકાતો નથી કારણ કે બીજો આઉટગોઇંગ કૉલ પહેલાંથી ડાયલ કરવામાં આવી રહ્યો છે."</string>
     <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="callFailed_too_many_calls" msgid="2761754044990799580">"કૉલ કરી શકાતો નથી, કારણ કે બે કૉલ પહેલાંથી ચાલુ છે. નવો કૉલ કરતા પહેલાં તેમાંથી એક કૉલને ડિસ્કનેક્ટ કરો અથવા તેને કૉન્ફરન્સમાં મર્જ કરો."</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>નો ઉપયોગ કરવા માટે, SIM <xliff:g id="SIM_NUMBER">%2$d</xliff:g> માટે મોબાઇલ ડેટા ચાલુ હોવાની ખાતરી કરો. તમે આને મોબાઇલ નેટવર્ક સેટિંગમાં બદલી શકો છો."</string>
@@ -845,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"આ સેટિંગમાં ફેરફાર કરવા માટે તમારા ડિવાઇસને ફરી શરૂ કરો."</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"ફરી શરૂ કરો"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"રદ કરો"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"કાઢી નાખી શકાય એવા ઇ-સિમ કાર્ડને ડિફૉલ્ટ તરીકે સેટ કરો"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"મોબાઇલ રેડિયો પાવર"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"સિમમાં સરનામા પુસ્તિકા જુઓ"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"ફિક્સ્ડ ડાયલિંગ નંબર જુઓ"</string>
@@ -899,6 +890,7 @@
     <string name="radio_info_band_mode_label" msgid="23480556225515290">"રેડિયો બૅન્ડ પસંદ કરો"</string>
     <string name="radio_info_voice_network_type_label" msgid="2395347336419593265">"વૉઇસ નેટવર્ક પ્રકાર:"</string>
     <string name="radio_info_data_network_type_label" msgid="8886597029237501929">"ડેટા નેટવર્કનો પ્રકાર:"</string>
+    <string name="radio_info_override_network_type_label" msgid="4176280017221092005">"નેટવર્કનો પ્રકાર ઓવરરાઇડ કરો:"</string>
     <string name="phone_index_label" msgid="6222406512768964268">"ફોનની અનુક્રમણિકા પસંદ કરો"</string>
     <string name="radio_info_set_perferred_label" msgid="7408131389363136210">"પસંદગીનો નેટવર્ક પ્રકાર સેટ કરો:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="6951237885381284790">"હોસ્ટનું નામ પિંગ કરો(www.google.com) IPv4:"</string>
@@ -910,10 +902,10 @@
     <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>
-    <string name="radio_info_dcnr_restricted" msgid="2469125498066960807">"DCNR પ્રતિબંધિત:"</string>
-    <string name="radio_info_nr_available" msgid="1321318331361249997">"NR ઉપલબ્ધ:"</string>
-    <string name="radio_info_nr_state" msgid="1337571996788535356">"NR સ્ટેટસ:"</string>
+    <string name="radio_info_endc_available" msgid="2983767110681230019">"EN-DC ઉપલબ્ધ (NSA):"</string>
+    <string name="radio_info_dcnr_restricted" msgid="7147511536420148173">"DCNR પ્રતિબંધિત (NSA):"</string>
+    <string name="radio_info_nr_available" msgid="3383388088451237182">"NR ઉપલબ્ધ (NSA):"</string>
+    <string name="radio_info_nr_state" msgid="4158805093187555149">"NR સ્થિતિ (NSA):"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR આવર્તન:"</string>
     <string name="band_mode_title" msgid="7988822920724576842">"રેડિયો બૅન્ડ મોડ સેટ કરો"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"બૅન્ડની સૂચિ લોડ કરી રહ્યું છે…"</string>
diff --git a/res/values-hi/strings.xml b/res/values-hi/strings.xml
index 24399f2..255063c 100644
--- a/res/values-hi/strings.xml
+++ b/res/values-hi/strings.xml
@@ -637,14 +637,8 @@
     <string name="phone_in_ecm_notification_title" msgid="6825016389926367946">"आपातकालीन कॉलबैक मोड"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="653972232922670335">"डेटा कनेक्शन अक्षम किया गया"</string>
     <string name="phone_in_ecm_notification_complete_time" msgid="7341624337163082759">"<xliff:g id="COMPLETETIME">%s</xliff:g> तक कोई डेटा कनेक्शन नहीं"</string>
-    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="5425906903766466743">
-      <item quantity="one">फ़ोन <xliff:g id="COUNT_1">%s</xliff:g> मिनट तक आपातकालीन कॉलबैक मोड में रहेगा. इस मोड में रहने पर डेटा कनेक्‍शन का उपयोग करने वाले किसी भी ऐप्‍लिकेशन का उपयोग नहीं किया जा सकता. क्‍या आप अभी बाहर निकलना चाहते हैं?</item>
-      <item quantity="other">फ़ोन <xliff:g id="COUNT_1">%s</xliff:g> मिनट तक आपातकालीन कॉलबैक मोड में रहेगा. इस मोड में रहने पर डेटा कनेक्‍शन का उपयोग करने वाले किसी भी ऐप्‍लिकेशन का उपयोग नहीं किया जा सकता. क्‍या आप अभी बाहर निकलना चाहते हैं?</item>
-    </plurals>
-    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="1152682528741457004">
-      <item quantity="one">आपातकालीन कॉलबैक मोड में रहने पर चयनित कार्रवाई उपलब्‍ध नहीं होती. फ़ोन <xliff:g id="COUNT_1">%s</xliff:g> मिनट तक इस मोड में रहेगा. क्‍या आप अभी बाहर निकलना चाहते हैं?</item>
-      <item quantity="other">आपातकालीन कॉलबैक मोड में रहने पर चयनित कार्रवाई उपलब्‍ध नहीं होती. फ़ोन <xliff:g id="COUNT_1">%s</xliff:g> मिनट तक इस मोड में रहेगा. क्‍या आप अभी बाहर निकलना चाहते हैं?</item>
-    </plurals>
+    <!-- format error in translation for alert_dialog_exit_ecm (7661603870224398025) -->
+    <!-- format error in translation for alert_dialog_not_avaialble_in_ecm (8717711120099503279) -->
     <string name="alert_dialog_in_ecm_call" msgid="1207545603149771978">"आपातकालीन कॉल के समय चयनित क्रिया उपलब्ध नहीं होती है."</string>
     <string name="progress_dialog_exiting_ecm" msgid="9159080081676927217">"आपातकालीन कॉलबैक मोड से बाहर निकल रहा है"</string>
     <string name="alert_dialog_yes" msgid="3532525979632841417">"हां"</string>
@@ -652,10 +646,7 @@
     <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">
-      <item quantity="one">फ़ोन <xliff:g id="COUNT_1">%s</xliff:g> मिनट के लिए आपातकालीन कॉलबैक मोड में रहेगा.\nक्या आप अभी बाहर निकलना चाहते हैं?</item>
-      <item quantity="other">फ़ोन <xliff:g id="COUNT_1">%s</xliff:g> मिनट के लिए आपातकालीन कॉलबैक मोड में रहेगा.\nक्या आप अभी बाहर निकलना चाहते हैं?</item>
-    </plurals>
+    <!-- format error in translation for alert_dialog_exit_ecm_without_data_restriction_hint (7549850847524907932) -->
     <string name="voicemail_provider" msgid="4158806657253745294">"सेवा"</string>
     <string name="voicemail_settings" msgid="4451045613238972776">"सेटअप"</string>
     <string name="voicemail_number_not_set" msgid="8831561283386938155">"&lt;सेट नहीं है&gt;"</string>
@@ -683,7 +674,6 @@
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"सुलभता"</string>
     <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"इससे वाई-फ़ाई कॉल"</string>
     <string name="status_hint_label_wifi_call" msgid="942993035689809853">"वाई-फ़ाई कॉल"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"खोलने के लिए फिर से टैप करें"</string>
     <string name="message_decode_error" msgid="1061856591500290887">"संदेश डीकोड करते समय कोई गड़बड़ी हुई थी."</string>
     <string name="callFailed_cdma_activation" msgid="5392057031552253550">"सिम कार्ड द्वारा आपकी सेवा को सक्रिय किया गया है और आपके फ़ोन की रोमिंग क्षमताओं को अपडेट किया गया है."</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"बहुत ज़्यादा कॉल सक्रिय हैं. नया कॉल करने से पहले कृपया मौजूदा कॉल खत्म करें या उन्हें मिला दें."</string>
@@ -827,7 +817,7 @@
     <string name="callFailed_already_dialing" msgid="7250591188960691086">"कॉल नहीं किया जा सकता, क्योंकि कोई दूसरा किया गया कॉल (आउटगोइंग) पहले से ही डायल हो रहा है."</string>
     <string name="callFailed_already_ringing" msgid="2376603543544289303">"कॉल नहीं किया जा सकता, क्योंकि एक आने वाले कॉल (इनकमिंग) का जवाब नहीं दिया जा रहा है. नया कॉल करने से पहले आने वाले कॉल (इनकमिंग) का जवाब दें या उसे अस्वीकार करें."</string>
     <string name="callFailed_calling_disabled" msgid="5010992739401206283">"कॉल नहीं किया जा सकता क्योंकि कॉलिंग की सुविधा को ROS.टेलीफ़ोनी की कॉल बंद करें सिस्टम प्रॉपर्टी का उपयोग करके बंद कर दिया गया है."</string>
-    <string name="callFailed_too_many_calls" msgid="5379426826618582180">"कॉल नहीं किया जा सकता, क्योंकि पहले से ही दो कॉल जारी हैं. नया कॉल करने से पहले उनमें से किसी एक कॉल को बंद करें या उन्हें कॉन्फ़्रेंस में मर्ज करें."</string>
+    <string name="callFailed_too_many_calls" msgid="2761754044990799580">"कॉल नहीं किया जा सका, क्योंकि पहले से ही दो कॉल जारी हैं. नया कॉल करने से पहले, उनमें से किसी एक कॉल को बंद करें या उन्हें कॉन्फ़्रेंस कॉल में मर्ज करें."</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>
@@ -845,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"इस सेटिंग को बदलने के लिए आपको अपना डिवाइस रीस्टार्ट करना होगा."</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"रीस्टार्ट करें"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"रद्द करें"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"हटाए जा सकने वाले ई-सिम को डिफ़ॉल्ट के तौर पर सेट करें"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"मोबाइल रेडियो पावर"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"सिम में संपर्कों के पते की सूची देखें"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"फ़िक्स्ड डायलिंग नंबर देखें"</string>
@@ -899,6 +890,7 @@
     <string name="radio_info_band_mode_label" msgid="23480556225515290">"रेडियो का बैंड चुनें"</string>
     <string name="radio_info_voice_network_type_label" msgid="2395347336419593265">"वॉइस नेटवर्क टाइप:"</string>
     <string name="radio_info_data_network_type_label" msgid="8886597029237501929">"डेटा नेटवर्क प्रकार:"</string>
+    <string name="radio_info_override_network_type_label" msgid="4176280017221092005">"नेटवर्क टाइप बदलें:"</string>
     <string name="phone_index_label" msgid="6222406512768964268">"फ़ोन इंडेक्स चुनें"</string>
     <string name="radio_info_set_perferred_label" msgid="7408131389363136210">"पसंदीदा नेटवर्क प्रकार सेट करें:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="6951237885381284790">"होस्टनाम(www.google.com) IPv4 पिंग करें:"</string>
@@ -910,10 +902,10 @@
     <string name="radio_info_smsc_refresh_label" msgid="8409923721451604560">"रीफ़्रेश करें"</string>
     <string name="radio_info_toggle_dns_check_label" msgid="1394078554927787350">"डीएनएस जांच टॉगल करें"</string>
     <string name="oem_radio_info_label" msgid="2914167475119997456">"ओईएम-खास जानकारी/सेटिंग"</string>
-    <string name="radio_info_endc_available" msgid="4410653375290113436">"EN-DC उपलब्ध है:"</string>
-    <string name="radio_info_dcnr_restricted" msgid="2469125498066960807">"DCNR प्रतिबंधित है:"</string>
-    <string name="radio_info_nr_available" msgid="1321318331361249997">"NR उपलब्ध है:"</string>
-    <string name="radio_info_nr_state" msgid="1337571996788535356">"NR की स्थिति:"</string>
+    <string name="radio_info_endc_available" msgid="2983767110681230019">"EN-DC उपलब्ध है (NSA):"</string>
+    <string name="radio_info_dcnr_restricted" msgid="7147511536420148173">"DCNR प्रतिबंधित है (NSA):"</string>
+    <string name="radio_info_nr_available" msgid="3383388088451237182">"NR उपलब्ध है (NSA):"</string>
+    <string name="radio_info_nr_state" msgid="4158805093187555149">"NR की स्थिति (NSA):"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR की फ़्रीक्वेंसी:"</string>
     <string name="band_mode_title" msgid="7988822920724576842">"\'रेडियो बैंड\' मोड सेट करें"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"बैंड सूची लोड की जा रही है…"</string>
diff --git a/res/values-hr/strings.xml b/res/values-hr/strings.xml
index b9a8d0b..89c6846 100644
--- a/res/values-hr/strings.xml
+++ b/res/values-hr/strings.xml
@@ -637,16 +637,8 @@
     <string name="phone_in_ecm_notification_title" msgid="6825016389926367946">"Način hitnog povratnog poziva"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="653972232922670335">"Onemogućena je podatkovna mreža"</string>
     <string name="phone_in_ecm_notification_complete_time" msgid="7341624337163082759">"Nema podatkovne veze do <xliff:g id="COMPLETETIME">%s</xliff:g>"</string>
-    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="5425906903766466743">
-      <item quantity="one">Telefon će biti u načinu hitnog povratnog poziva <xliff:g id="COUNT_1">%s</xliff:g> minutu. U tom se načinu ne mogu upotrebljavati aplikacije koje upotrebljavaju podatkovnu vezu. Želite li odmah zatvoriti taj način?</item>
-      <item quantity="few">Telefon će biti u načinu hitnog povratnog poziva <xliff:g id="COUNT_1">%s</xliff:g> minute. U tom se načinu ne mogu upotrebljavati aplikacije koje upotrebljavaju podatkovnu vezu. Želite li odmah zatvoriti taj način?</item>
-      <item quantity="other">Telefon će biti u načinu hitnog povratnog poziva <xliff:g id="COUNT_1">%s</xliff:g> minuta. U tom se načinu ne mogu upotrebljavati aplikacije koje upotrebljavaju podatkovnu vezu. Želite li odmah zatvoriti taj način?</item>
-    </plurals>
-    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="1152682528741457004">
-      <item quantity="one">Odabrana radnja nije dostupna u načinu hitnog povratnog poziva. Telefon će u tom načinu biti <xliff:g id="COUNT_1">%s</xliff:g> minutu. Želite li odmah zatvoriti taj način?</item>
-      <item quantity="few">Odabrana radnja nije dostupna u načinu hitnog povratnog poziva. Telefon će u tom načinu biti <xliff:g id="COUNT_1">%s</xliff:g> minute. Želite li odmah zatvoriti taj način?</item>
-      <item quantity="other">Odabrana radnja nije dostupna u načinu hitnog povratnog poziva. Telefon će u tom načinu biti <xliff:g id="COUNT_1">%s</xliff:g> minuta. Želite li odmah zatvoriti taj način?</item>
-    </plurals>
+    <!-- format error in translation for alert_dialog_exit_ecm (7661603870224398025) -->
+    <!-- format error in translation for alert_dialog_not_avaialble_in_ecm (8717711120099503279) -->
     <string name="alert_dialog_in_ecm_call" msgid="1207545603149771978">"Odabrana radnja nije dostupna tijekom hitnog poziva."</string>
     <string name="progress_dialog_exiting_ecm" msgid="9159080081676927217">"Izlaz iz načina hitnog povratnog poziva"</string>
     <string name="alert_dialog_yes" msgid="3532525979632841417">"Da"</string>
@@ -654,11 +646,7 @@
     <string name="alert_dialog_dismiss" msgid="1336356286354517054">"Odbaci"</string>
     <string name="phone_in_ecm_call_notification_text_without_data_restriction_hint" msgid="3747860785153531225">"Telefon je u načinu rada hitnog povratnog poziva"</string>
     <string name="phone_in_ecm_notification_complete_time_without_data_restriction_hint" msgid="3690292264812050858">"Do <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">Telefon će biti u načinu rada hitnog povratnog poziva <xliff:g id="COUNT_1">%s</xliff:g> minutu.\nŽelite li sada izaći?</item>
-      <item quantity="few">Telefon će biti u načinu rada hitnog povratnog poziva <xliff:g id="COUNT_1">%s</xliff:g> minute.\nŽelite li sada izaći?</item>
-      <item quantity="other">Telefon će biti u načinu rada hitnog povratnog poziva <xliff:g id="COUNT_1">%s</xliff:g> minuta.\nŽelite li sada izaći?</item>
-    </plurals>
+    <!-- format error in translation for alert_dialog_exit_ecm_without_data_restriction_hint (7549850847524907932) -->
     <string name="voicemail_provider" msgid="4158806657253745294">"Usluga"</string>
     <string name="voicemail_settings" msgid="4451045613238972776">"Postavljanje"</string>
     <string name="voicemail_number_not_set" msgid="8831561283386938155">"&lt;Nije postavljeno&gt;"</string>
@@ -686,7 +674,6 @@
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"Pristupačnost"</string>
     <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"Wi-Fi poziv s broja"</string>
     <string name="status_hint_label_wifi_call" msgid="942993035689809853">"Wi-Fi poziv"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"Dodirnite opet za otvaranje"</string>
     <string name="message_decode_error" msgid="1061856591500290887">"Došlo je do pogreške prilikom dekodiranja poruke."</string>
     <string name="callFailed_cdma_activation" msgid="5392057031552253550">"SIM kartica aktivirala je vašu uslugu i ažurirala mogućnosti telefona za roaming."</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"Postoji previše aktivnih poziva. Prekinite ili spojite postojeće pozive prije uspostavljanja novog poziva."</string>
@@ -830,7 +817,7 @@
     <string name="callFailed_already_dialing" msgid="7250591188960691086">"Nije moguće uputiti poziv jer se odlazni poziv već upućuje."</string>
     <string name="callFailed_already_ringing" msgid="2376603543544289303">"Poziv se ne može uputiti jer postoji neodgovoreni dolazni poziv. Odgovorite ili odbijte dolazni poziv prije upućivanja novog poziva."</string>
     <string name="callFailed_calling_disabled" msgid="5010992739401206283">"Poziv se ne može uputiti jer je pozivanje onemogućeno pomoću entiteta sustava ro.telephony.disable-call."</string>
-    <string name="callFailed_too_many_calls" msgid="5379426826618582180">"Poziv se ne može uputiti jer su već dva poziva u tijeku. Prekinite jedan poziv ili spojite dva poziva u konferencijski poziv prije nego što uputite drugi poziv."</string>
+    <string name="callFailed_too_many_calls" msgid="2761754044990799580">"Poziv se ne može uputiti jer su već dva poziva u tijeku. Prekinite jedan poziv ili spojite dva poziva u konferencijski poziv prije nego što uputite drugi poziv."</string>
     <string name="supp_service_over_ut_precautions" msgid="2145018231396701311">"Da biste koristili uslugu <xliff:g id="SUPP_SERVICE">%s</xliff:g>, provjerite jesu li vaši mobilni podaci uključeni. Tu opciju možete promijeniti u postavkama mobilne mreže."</string>
     <string name="supp_service_over_ut_precautions_roaming" msgid="670342104569972327">"Da biste koristili uslugu <xliff:g id="SUPP_SERVICE">%s</xliff:g>, provjerite jesu li mobilni podaci i roaming podataka uključeni. Tu opciju možete promijeniti u postavkama mobilne mreže."</string>
     <string name="supp_service_over_ut_precautions_dual_sim" msgid="5166866975550910474">"Da biste koristili uslugu <xliff:g id="SUPP_SERVICE">%1$s</xliff:g>, provjerite jesu li mobilni podaci za SIM <xliff:g id="SIM_NUMBER">%2$d</xliff:g> uključeni. Tu opciju možete promijeniti u postavkama mobilne mreže."</string>
@@ -848,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"Ponovo pokrenite uređaj da biste promijenili tu postavku."</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"Ponovno pokretanje"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"Odustani"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"Postavljanje uklonjivog eSIM-a kao zadanog"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"Snaga mobilnog radija"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"Prikaži imenik SIM-a"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"Prikaži brojeve za fiksno biranje"</string>
@@ -902,6 +890,7 @@
     <string name="radio_info_band_mode_label" msgid="23480556225515290">"Odaberite radijsku frekvenciju"</string>
     <string name="radio_info_voice_network_type_label" msgid="2395347336419593265">"Vrsta glasovne mreže:"</string>
     <string name="radio_info_data_network_type_label" msgid="8886597029237501929">"Vrsta podatkovne mreže:"</string>
+    <string name="radio_info_override_network_type_label" msgid="4176280017221092005">"Nadjačavanje vrste mreže:"</string>
     <string name="phone_index_label" msgid="6222406512768964268">"Odaberite telefonski indeks"</string>
     <string name="radio_info_set_perferred_label" msgid="7408131389363136210">"Postavite željenu vrstu mreže:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="6951237885381284790">"Pinganje naziva hosta (www.google.com) IPv4:"</string>
@@ -913,10 +902,10 @@
     <string name="radio_info_smsc_refresh_label" msgid="8409923721451604560">"Osvježi"</string>
     <string name="radio_info_toggle_dns_check_label" msgid="1394078554927787350">"Uključi/isključi provjeru DNS-a"</string>
     <string name="oem_radio_info_label" msgid="2914167475119997456">"Informacije/postavke koje se posebno odnose na OEM"</string>
-    <string name="radio_info_endc_available" msgid="4410653375290113436">"Dostupno za EN-DC:"</string>
-    <string name="radio_info_dcnr_restricted" msgid="2469125498066960807">"Ograničeno za DCNR:"</string>
-    <string name="radio_info_nr_available" msgid="1321318331361249997">"Dostupno za NR:"</string>
-    <string name="radio_info_nr_state" msgid="1337571996788535356">"Stanje NR-a:"</string>
+    <string name="radio_info_endc_available" msgid="2983767110681230019">"EN-DC dostupan (NSA):"</string>
+    <string name="radio_info_dcnr_restricted" msgid="7147511536420148173">"Ograničeni DCNR (NSA):"</string>
+    <string name="radio_info_nr_available" msgid="3383388088451237182">"NR dostupan (NSA):"</string>
+    <string name="radio_info_nr_state" msgid="4158805093187555149">"Stanje NR-a (NSA):"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"Frekvencija NR-a:"</string>
     <string name="band_mode_title" msgid="7988822920724576842">"Postavi način radijske frekvencije"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"Učitavanje popisa frekvencija…"</string>
diff --git a/res/values-hu/strings.xml b/res/values-hu/strings.xml
index 80d1865..10415e0 100644
--- a/res/values-hu/strings.xml
+++ b/res/values-hu/strings.xml
@@ -637,14 +637,8 @@
     <string name="phone_in_ecm_notification_title" msgid="6825016389926367946">"Segélykérő visszahívása mód"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="653972232922670335">"Adatkapcsolat letiltva"</string>
     <string name="phone_in_ecm_notification_complete_time" msgid="7341624337163082759">"Nincs adatkapcsolat eddig: <xliff:g id="COMPLETETIME">%s</xliff:g>"</string>
-    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="5425906903766466743">
-      <item quantity="other">A telefon <xliff:g id="COUNT_1">%s</xliff:g> percig lesz Segélykérő visszahívása módban. Ebben az üzemmódban nem használhatók olyan alkalmazások, amelyeknél adatkapcsolatra van szükség. Szeretne kilépni most?</item>
-      <item quantity="one">A telefon <xliff:g id="COUNT_0">%s</xliff:g> percig lesz Segélykérő visszahívása módban. Ebben az üzemmódban nem használhatók olyan alkalmazások, amelyeknél adatkapcsolatra van szükség. Szeretne kilépni most?</item>
-    </plurals>
-    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="1152682528741457004">
-      <item quantity="other">A választott művelet nem érhető el Segélykérő visszahívása módban. A telefon <xliff:g id="COUNT_1">%s</xliff:g> percig lesz ebben a módban. Szeretne kilépni most?</item>
-      <item quantity="one">A választott művelet nem érhető el Segélykérő visszahívása módban. A telefon <xliff:g id="COUNT_0">%s</xliff:g> percig lesz ebben a módban. Szeretne kilépni most?</item>
-    </plurals>
+    <string name="alert_dialog_exit_ecm" msgid="7661603870224398025">"{count,plural, =1{A telefon egy percig Sürgősségi visszahívás módban lesz. Ebben az üzemmódban nem használhatók az adatkapcsolatot igénylő alkalmazások. Kilép?}other{A telefon %s percig Sürgősségi visszahívás módban lesz. Ebben az üzemmódban nem használhatók az adatkapcsolatot igénylő alkalmazások. Kilép?}}"</string>
+    <string name="alert_dialog_not_avaialble_in_ecm" msgid="8717711120099503279">"{count,plural, =1{A kiválasztott művelet nem áll rendelkezésre Sürgősségi visszahívás módban. A telefon egy percig lesz ebben a módban. Kilép?}other{A kiválasztott művelet nem áll rendelkezésre Sürgősségi visszahívás módban. A telefon %s percig lesz ebben a módban. Kilép?}}"</string>
     <string name="alert_dialog_in_ecm_call" msgid="1207545603149771978">"A választott művelet nem érhető el segélyhívás során."</string>
     <string name="progress_dialog_exiting_ecm" msgid="9159080081676927217">"Kilépés a Sürgősségi visszahívás módból"</string>
     <string name="alert_dialog_yes" msgid="3532525979632841417">"Igen"</string>
@@ -652,10 +646,7 @@
     <string name="alert_dialog_dismiss" msgid="1336356286354517054">"Elvetés"</string>
     <string name="phone_in_ecm_call_notification_text_without_data_restriction_hint" msgid="3747860785153531225">"A telefon sürgősségi visszahívás módban van."</string>
     <string name="phone_in_ecm_notification_complete_time_without_data_restriction_hint" msgid="3690292264812050858">"Eddig: <xliff:g id="COMPLETETIME">%s</xliff:g>"</string>
-    <plurals name="alert_dialog_exit_ecm_without_data_restriction_hint" formatted="false" msgid="6477733043040328640">
-      <item quantity="other">A telefon <xliff:g id="COUNT_1">%s</xliff:g> percig sürgősségi visszahívás módban lesz.\nKilép?</item>
-      <item quantity="one">A telefon <xliff:g id="COUNT_0">%s</xliff:g> percig sürgősségi visszahívás módban lesz.\nKilép?</item>
-    </plurals>
+    <string name="alert_dialog_exit_ecm_without_data_restriction_hint" msgid="7549850847524907932">"{count,plural, =1{A telefon egy percig sürgősségi visszahívás módban lesz.\nKilép?}other{A telefon %s percig sürgősségi visszahívás módban lesz.\nKilép?}}"</string>
     <string name="voicemail_provider" msgid="4158806657253745294">"Szolgáltatás"</string>
     <string name="voicemail_settings" msgid="4451045613238972776">"Beállítás"</string>
     <string name="voicemail_number_not_set" msgid="8831561283386938155">"&lt;Nincs megadva&gt;"</string>
@@ -683,7 +674,6 @@
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"Kisegítő lehetőségek"</string>
     <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"Wi-Fi-hívás tőle:"</string>
     <string name="status_hint_label_wifi_call" msgid="942993035689809853">"Wi-Fi-hívás"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"Koppintson rá ismét a megnyitáshoz"</string>
     <string name="message_decode_error" msgid="1061856591500290887">"Hiba történt az üzenet dekódolása közben."</string>
     <string name="callFailed_cdma_activation" msgid="5392057031552253550">"Egy SIM kártya aktiválta a szolgáltatást, valamint frissítette a telefon barangolási képességeit."</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"Túl sok aktív hívás van. Új hívás indítása előtt fejezzen be vagy vonjon össze meglévő hívásokat."</string>
@@ -827,7 +817,7 @@
     <string name="callFailed_already_dialing" msgid="7250591188960691086">"Nem kezdeményezhet hívást, mert folyamatban van egy másik kimenő hívás indítása."</string>
     <string name="callFailed_already_ringing" msgid="2376603543544289303">"Nem kezdeményezhet hívást, mert folyamatban van egy megválaszolatlan bejövő hívás. Mielőtt új hívást indítana, vegye fel, vagy utasítsa el a bejövő hívást."</string>
     <string name="callFailed_calling_disabled" msgid="5010992739401206283">"Nem kezdeményezhet hívást, mivel a hívás le van tiltva ro.telephony.disable-call rendszertulajdonsággal."</string>
-    <string name="callFailed_too_many_calls" msgid="5379426826618582180">"Nem kezdeményezhet hívást, mivel már két hívás van folyamatban. Mielőtt új hívást indítana, tegye le az egyiket, vagy egyesítse őket egy konferenciahívásban."</string>
+    <string name="callFailed_too_many_calls" msgid="2761754044990799580">"Nem kezdeményezhet hívást, mert már két hívás van folyamatban. Mielőtt új hívást indítana, tegye le az egyiket, vagy egyesítse őket egy konferenciahívásban."</string>
     <string name="supp_service_over_ut_precautions" msgid="2145018231396701311">"A(z) <xliff:g id="SUPP_SERVICE">%s</xliff:g> használatához győződjön meg róla, hogy a mobiladat-kapcsolat be van kapcsolva. Ezt a mobilhálózat beállításainál módosíthatja."</string>
     <string name="supp_service_over_ut_precautions_roaming" msgid="670342104569972327">"A(z) <xliff:g id="SUPP_SERVICE">%s</xliff:g> használatához győződjön meg róla, hogy a mobiladat-kapcsolat és az adatbarangolás be van kapcsolva. Ezt a mobilhálózat beállításainál módosíthatja."</string>
     <string name="supp_service_over_ut_precautions_dual_sim" msgid="5166866975550910474">"A(z) <xliff:g id="SUPP_SERVICE">%1$s</xliff:g> használatához győződjön meg róla, hogy a mobiladat-kapcsolat be van kapcsolva a SIM-kártyán (<xliff:g id="SIM_NUMBER">%2$d</xliff:g>). Ezt a mobilhálózat beállításainál módosíthatja."</string>
@@ -845,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"A beállítás módosításához újra kell indítania az eszközt."</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"Újraindítás"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"Mégse"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"Cserélhető eSIM beállítása alapértelmezettként"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"Mobil rádióadó teljesítménye"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"SIM-kártya telefonkönyvének megtekintése"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"Fix hívószámok megtekintése"</string>
@@ -899,6 +890,7 @@
     <string name="radio_info_band_mode_label" msgid="23480556225515290">"Rádióhullámsáv kiválasztása"</string>
     <string name="radio_info_voice_network_type_label" msgid="2395347336419593265">"Hanghálózat típusa:"</string>
     <string name="radio_info_data_network_type_label" msgid="8886597029237501929">"Adathálózat típusa:"</string>
+    <string name="radio_info_override_network_type_label" msgid="4176280017221092005">"Hálózattípus felülbírálata:"</string>
     <string name="phone_index_label" msgid="6222406512768964268">"Telefonkönyv kiválasztása"</string>
     <string name="radio_info_set_perferred_label" msgid="7408131389363136210">"Preferált hálózattípus beállítása:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="6951237885381284790">"Pingelt gazdagépnév (www.google.com) IPv4:"</string>
@@ -910,10 +902,10 @@
     <string name="radio_info_smsc_refresh_label" msgid="8409923721451604560">"Frissítés"</string>
     <string name="radio_info_toggle_dns_check_label" msgid="1394078554927787350">"DNS-ellenőrzés váltása"</string>
     <string name="oem_radio_info_label" msgid="2914167475119997456">"OEM-specifikus adatok és beállítások:"</string>
-    <string name="radio_info_endc_available" msgid="4410653375290113436">"EN-DC rendelkezésre áll:"</string>
-    <string name="radio_info_dcnr_restricted" msgid="2469125498066960807">"DCNR korlátozva:"</string>
-    <string name="radio_info_nr_available" msgid="1321318331361249997">"NR rendelkezésre áll:"</string>
-    <string name="radio_info_nr_state" msgid="1337571996788535356">"NR-állapot:"</string>
+    <string name="radio_info_endc_available" msgid="2983767110681230019">"EN-DC rendelkezésre áll (NSA):"</string>
+    <string name="radio_info_dcnr_restricted" msgid="7147511536420148173">"DCNR korlátozva (NSA):"</string>
+    <string name="radio_info_nr_available" msgid="3383388088451237182">"NR rendelkezésre áll (NSA):"</string>
+    <string name="radio_info_nr_state" msgid="4158805093187555149">"NR állapota (NSA):"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR-frekvencia:"</string>
     <string name="band_mode_title" msgid="7988822920724576842">"Rádióhullámsáv mód beállítása"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"Sávlista betöltése…"</string>
diff --git a/res/values-hy/strings.xml b/res/values-hy/strings.xml
index 2153b0d..ef5a3d8 100644
--- a/res/values-hy/strings.xml
+++ b/res/values-hy/strings.xml
@@ -575,7 +575,7 @@
     <string name="fire_type_description" msgid="6565200468934914930">"Հրշեջ ծառայություն"</string>
     <string name="description_concat_format" msgid="2014471565101724088">"%1$s, %2$s"</string>
     <string name="dialerKeyboardHintText" msgid="1115266533703764049">"Օգտագործեք ստեղնաշարը՝ համարհավաքման համար"</string>
-    <string name="onscreenHoldText" msgid="4025348842151665191">"Պահել"</string>
+    <string name="onscreenHoldText" msgid="4025348842151665191">"Սպասման մեջ դնել"</string>
     <string name="onscreenEndCallText" msgid="6138725377654842757">"Ավարտել"</string>
     <string name="onscreenShowDialpadText" msgid="658465753816164079">"Թվաշար"</string>
     <string name="onscreenMuteText" msgid="5470306116733843621">"Խլացնել"</string>
@@ -637,14 +637,8 @@
     <string name="phone_in_ecm_notification_title" msgid="6825016389926367946">"Արտակարգ իրավիճակների հետզանգի ռեժիմ"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="653972232922670335">"Տվյալների կապն անջատված է"</string>
     <string name="phone_in_ecm_notification_complete_time" msgid="7341624337163082759">"Մինչև ժամը <xliff:g id="COMPLETETIME">%s</xliff:g> ինտերնետ կապ չի լինի"</string>
-    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="5425906903766466743">
-      <item quantity="one">Հեռախոսը գտնվելու է Արտակարգ իրավիճակների հետզանգի ռեժիմում <xliff:g id="COUNT_1">%s</xliff:g> րոպե: Այդ ռեժիմում տվյալների միացում պահանջող հավելվածները չեն կարող օգտագործվել: Ցանկանո՞ւմ եք դուրս գալ հիմա:</item>
-      <item quantity="other">Հեռախոսը գտնվելու է Արտակարգ իրավիճակների հետզանգի ռեժիմում <xliff:g id="COUNT_1">%s</xliff:g> րոպե: Այդ ռեժիմում տվյալների միացում պահանջող հավելվածները չեն կարող օգտագործվել: Ցանկանո՞ւմ եք դուրս գալ հիմա:</item>
-    </plurals>
-    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="1152682528741457004">
-      <item quantity="one">Նշված գործողությունն Արտակարգ իրավիճակների հետզանգի ռեժիմում հասանելի չէ: Հեռախոսը գտնվելու է այս ռեժիմում <xliff:g id="COUNT_1">%s</xliff:g> րոպե: Ցանկանո՞ւմ եք դուրս գալ հիմա:</item>
-      <item quantity="other">Նշված գործողությունն Արտակարգ իրավիճակների հետզանգի ռեժիմում հասանելի չէ: Հեռախոսը գտնվելու է այս ռեժիմում <xliff:g id="COUNT_1">%s</xliff:g> րոպե: Ցանկանո՞ւմ եք դուրս գալ հիմա:</item>
-    </plurals>
+    <!-- format error in translation for alert_dialog_exit_ecm (7661603870224398025) -->
+    <!-- format error in translation for alert_dialog_not_avaialble_in_ecm (8717711120099503279) -->
     <string name="alert_dialog_in_ecm_call" msgid="1207545603149771978">"Ընտրված գործողությունը հասանելի չէ շտապ կանչի ժամանակ:"</string>
     <string name="progress_dialog_exiting_ecm" msgid="9159080081676927217">"Դուրս է գալիս արտակարգ իրավիճակների հետզանգի ռեժիմից"</string>
     <string name="alert_dialog_yes" msgid="3532525979632841417">"Այո"</string>
@@ -652,10 +646,7 @@
     <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">
-      <item quantity="one">Շտապ հետզանգի ռեժիմը կգործի դեռ <xliff:g id="COUNT_1">%s</xliff:g> րոպե։\nԴո՞ւրս գալ։</item>
-      <item quantity="other">Շտապ հետզանգի ռեժիմը կգործի դեռ <xliff:g id="COUNT_1">%s</xliff:g> րոպե։\nԴո՞ւրս գալ։</item>
-    </plurals>
+    <!-- format error in translation for alert_dialog_exit_ecm_without_data_restriction_hint (7549850847524907932) -->
     <string name="voicemail_provider" msgid="4158806657253745294">"Ծառայություն"</string>
     <string name="voicemail_settings" msgid="4451045613238972776">"Կարգավորում"</string>
     <string name="voicemail_number_not_set" msgid="8831561283386938155">"&lt;Նշված չէ&gt;"</string>
@@ -683,7 +674,6 @@
     <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="callFailed_cdma_activation" msgid="5392057031552253550">"SIM քարտն ակտիվացրել է ծառայությունը և թարմացրել ձեր հեռախոսի ռոումինգի հնարավորությունները:"</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"Չափազանց շատ ընթացիկ զանգեր կան: Ավարտեք կամ միավորեք առկա զանգերը՝ նախքան նորն զանգ կատարելը:"</string>
@@ -827,7 +817,7 @@
     <string name="callFailed_already_dialing" msgid="7250591188960691086">"Հնարավոր չէ զանգել, քանի որ տվյալ պահին մեկ այլ ելքային զանգ է կատարվում:"</string>
     <string name="callFailed_already_ringing" msgid="2376603543544289303">"Հնարավոր չէ զանգել, քանի որ անպատասխան մուտքային զանգ կա: Նախքան նոր զանգ կատարելը պատասխանեք մուտքային զանգին կամ մերժեք այն:"</string>
     <string name="callFailed_calling_disabled" msgid="5010992739401206283">"Հնարավոր չէ զանգել, քանի որ զանգելու գործառույթը զանգերի համակարգի ro.telephony.disable կարգավորման միջոցով կասեցվել է:"</string>
-    <string name="callFailed_too_many_calls" msgid="5379426826618582180">"Հնարավոր չէ զանգել, քանի որ արդեն երկու ընթացիկ զանգ կա: Նախքան նոր զանգ կատարելը ավարտեք զանգերից մեկը կամ միավորեք դրանք մեկ խմբային զանգում:"</string>
+    <string name="callFailed_too_many_calls" msgid="2761754044990799580">"Հնարավոր չէ զանգել, քանի որ արդեն երկու ընթացիկ զանգ կա։ Նախքան նոր զանգ կատարելը ավարտեք զանգերից մեկը կամ միավորեք դրանք մեկ խմբային զանգում։"</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> ծառայությունից օգտվելու համար համոզվեք, որ SIM <xliff:g id="SIM_NUMBER">%2$d</xliff:g> քարտի համար բջջային ինտերնետը միացված է: Սա կարող եք փոխել բջջային ցանցի կարգավորումներում:"</string>
@@ -845,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"Վերագործարկեք սարքը՝ այս կարգավորումը փոխելու համար:"</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"Վերագործարկել"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"Չեղարկել"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"Սահմանել հեռացվելի eSIM քարտը որպես կանխադրված"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"Բջջային ռադիոազդանշանի հզորությունը"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"Դիտել SIM քարտի հասցեագիրքը"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"Տեսնել ամրակցված հեռախոսահամարները"</string>
@@ -899,6 +890,7 @@
     <string name="radio_info_band_mode_label" msgid="23480556225515290">"Ընտրել հաճախությունների շերտը"</string>
     <string name="radio_info_voice_network_type_label" msgid="2395347336419593265">"Ձայնային ցանցի տեսակը՝"</string>
     <string name="radio_info_data_network_type_label" msgid="8886597029237501929">"Տվյալների ցանցի տեսակը՝"</string>
+    <string name="radio_info_override_network_type_label" msgid="4176280017221092005">"Փոխարինման ցանցի տեսակը՝"</string>
     <string name="phone_index_label" msgid="6222406512768964268">"Ընտրեք հեռախոսային կոդ"</string>
     <string name="radio_info_set_perferred_label" msgid="7408131389363136210">"Կարգավորեք ցանկալի ցանցի տեսակը՝"</string>
     <string name="radio_info_ping_hostname_v4" msgid="6951237885381284790">"Փինգ հանգույցի անուն(www.google.com) IPv4՝"</string>
@@ -910,10 +902,10 @@
     <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>
-    <string name="radio_info_dcnr_restricted" msgid="2469125498066960807">"DCNR-ը սահմանափակված է՝"</string>
-    <string name="radio_info_nr_available" msgid="1321318331361249997">"NR-ը հասանելի է՝"</string>
-    <string name="radio_info_nr_state" msgid="1337571996788535356">"NR-ի կարգավիճակը՝"</string>
+    <string name="radio_info_endc_available" msgid="2983767110681230019">"EN-DC հասանելի (NSA)՝"</string>
+    <string name="radio_info_dcnr_restricted" msgid="7147511536420148173">"DCNR սահմանափակ (NSA)՝"</string>
+    <string name="radio_info_nr_available" msgid="3383388088451237182">"NR հասանելի (NSA)՝"</string>
+    <string name="radio_info_nr_state" msgid="4158805093187555149">"NR կարգավիճակը (NSA)՝"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR-ի հաճախականությունը՝"</string>
     <string name="band_mode_title" msgid="7988822920724576842">"Կարգավորել հաճախությունների շերտի ռեժիմը"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"Շերտերի ցուցակը բեռնվում է…"</string>
diff --git a/res/values-in/strings.xml b/res/values-in/strings.xml
index b36e02f..02b298f 100644
--- a/res/values-in/strings.xml
+++ b/res/values-in/strings.xml
@@ -637,14 +637,8 @@
     <string name="phone_in_ecm_notification_title" msgid="6825016389926367946">"Mode Telepon Balik Darurat"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="653972232922670335">"Sambungan data dinonaktifkan"</string>
     <string name="phone_in_ecm_notification_complete_time" msgid="7341624337163082759">"Tidak ada koneksi data sampai <xliff:g id="COMPLETETIME">%s</xliff:g>"</string>
-    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="5425906903766466743">
-      <item quantity="other">Ponsel ini akan berada dalam mode Telepon Balik Darurat selama <xliff:g id="COUNT_1">%s</xliff:g> menit. Saat dalam mode ini, aplikasi yang menggunakan sambungan data tidak dapat digunakan. Ingin keluar sekarang?</item>
-      <item quantity="one">Ponsel ini akan berada dalam mode Telepon Balik Darurat selama <xliff:g id="COUNT_0">%s</xliff:g> menit. Saat dalam mode ini, aplikasi yang menggunakan sambungan data tidak dapat digunakan. Ingin keluar sekarang?</item>
-    </plurals>
-    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="1152682528741457004">
-      <item quantity="other">Tindakan yang dipilih tidak tersedia saat dalam mode Telepon Balik Darurat. Ponsel ini akan berada dalam mode ini selama <xliff:g id="COUNT_1">%s</xliff:g> menit. Ingin keluar sekarang?</item>
-      <item quantity="one">Tindakan yang dipilih tidak tersedia saat dalam mode Telepon Balik Darurat. Ponsel ini akan berada dalam mode ini selama <xliff:g id="COUNT_0">%s</xliff:g> menit. Ingin keluar sekarang?</item>
-    </plurals>
+    <string name="alert_dialog_exit_ecm" msgid="7661603870224398025">"{count,plural, =1{Ponsel akan berada dalam mode Telepon Balik Darurat selama satu menit. Selama dalam mode ini, aplikasi yang menggunakan koneksi data tidak dapat digunakan. Apakah Anda ingin keluar sekarang?}other{Ponsel akan berada dalam mode Telepon Balik Darurat selama %s menit. Selama dalam mode ini, aplikasi yang menggunakan koneksi data tidak dapat digunakan. Apakah Anda ingin keluar sekarang?}}"</string>
+    <string name="alert_dialog_not_avaialble_in_ecm" msgid="8717711120099503279">"{count,plural, =1{Tindakan yang dipilih tidak tersedia saat berada dalam mode Telepon Balik Darurat. Ponsel akan berada dalam mode ini selama satu menit. Apakah Anda ingin keluar sekarang?}other{Tindakan yang dipilih tidak tersedia saat berada dalam mode Telepon Balik Darurat. Ponsel akan berada dalam mode ini selama %s menit. Apakah Anda ingin keluar sekarang?}}"</string>
     <string name="alert_dialog_in_ecm_call" msgid="1207545603149771978">"Tindakan yang dipilih tidak tersedia ketika dalam panggilan darurat."</string>
     <string name="progress_dialog_exiting_ecm" msgid="9159080081676927217">"Keluar dari mode Telepon Balik Darurat"</string>
     <string name="alert_dialog_yes" msgid="3532525979632841417">"Ya"</string>
@@ -652,10 +646,7 @@
     <string name="alert_dialog_dismiss" msgid="1336356286354517054">"Tutup"</string>
     <string name="phone_in_ecm_call_notification_text_without_data_restriction_hint" msgid="3747860785153531225">"Ponsel berada dalam mode telepon balik darurat."</string>
     <string name="phone_in_ecm_notification_complete_time_without_data_restriction_hint" msgid="3690292264812050858">"Sampai <xliff:g id="COMPLETETIME">%s</xliff:g>"</string>
-    <plurals name="alert_dialog_exit_ecm_without_data_restriction_hint" formatted="false" msgid="6477733043040328640">
-      <item quantity="other">Ponsel akan berada dalam mode telepon balik darurat selama <xliff:g id="COUNT_1">%s</xliff:g> menit.\nApakah Anda ingin keluar sekarang?</item>
-      <item quantity="one">Ponsel akan berada dalam mode telepon balik darurat selama <xliff:g id="COUNT_0">%s</xliff:g> menit.\nApakah Anda ingin keluar sekarang?</item>
-    </plurals>
+    <string name="alert_dialog_exit_ecm_without_data_restriction_hint" msgid="7549850847524907932">"{count,plural, =1{Ponsel akan berada dalam mode telepon balik darurat selama satu menit.\nApakah Anda ingin keluar sekarang?}other{Ponsel akan berada dalam mode telepon balik darurat selama %s menit.\nApakah Anda ingin keluar sekarang?}}"</string>
     <string name="voicemail_provider" msgid="4158806657253745294">"Layanan"</string>
     <string name="voicemail_settings" msgid="4451045613238972776">"Penyiapan"</string>
     <string name="voicemail_number_not_set" msgid="8831561283386938155">"&lt;Tidak disetel&gt;"</string>
@@ -683,8 +674,7 @@
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"Aksesibilitas"</string>
     <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"Panggilan Wi-Fi dari"</string>
     <string name="status_hint_label_wifi_call" msgid="942993035689809853">"Panggilan Wi-Fi"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"Ketuk lagi untuk membuka"</string>
-    <string name="message_decode_error" msgid="1061856591500290887">"Terjadi kesalahan saat mendekode pesan."</string>
+    <string name="message_decode_error" msgid="1061856591500290887">"Terjadi error saat mendekode pesan."</string>
     <string name="callFailed_cdma_activation" msgid="5392057031552253550">"Kartu SIM telah mengaktifkan layanan dan memperbarui kemampuan roaming ponsel."</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"Ada terlalu banyak panggilan aktif. Akhiri atau gabungkan panggilan yang ada sebelum melakukan panggilan baru."</string>
     <string name="callFailed_imei_not_accepted" msgid="7257903653685147251">"Tidak dapat terhubung, masukkan kartu SIM yang valid."</string>
@@ -827,7 +817,7 @@
     <string name="callFailed_already_dialing" msgid="7250591188960691086">"Tidak dapat melakukan panggilan karena panggilan keluar lainnya sedang berlangsung."</string>
     <string name="callFailed_already_ringing" msgid="2376603543544289303">"Tidak dapat melakukan panggilan karena ada panggilan masuk yang belum terjawab. Jawab atau tolak panggilan masuk sebelum melakukan panggilan."</string>
     <string name="callFailed_calling_disabled" msgid="5010992739401206283">"Tidak dapat melakukan panggilan karena panggilan telah dinonaktifkan menggunakan properti sistem ro.telephony.disable-call"</string>
-    <string name="callFailed_too_many_calls" msgid="5379426826618582180">"Tidak dapat melakukan panggilan karena ada dua panggilan yang sedang berlangsung. Putuskan salah satu panggilan atau gabungkan keduanya menjadi konferensi sebelum melakukan panggilan baru."</string>
+    <string name="callFailed_too_many_calls" msgid="2761754044990799580">"Tidak dapat melakukan panggilan karena ada dua panggilan yang sedang berlangsung. Putuskan salah satu panggilan atau gabungkan keduanya menjadi satu konferensi sebelum melakukan panggilan baru."</string>
     <string name="supp_service_over_ut_precautions" msgid="2145018231396701311">"Untuk menggunakan <xliff:g id="SUPP_SERVICE">%s</xliff:g>, pastikan kuota internet diaktifkan. Anda dapat mengubahnya di setelan jaringan seluler."</string>
     <string name="supp_service_over_ut_precautions_roaming" msgid="670342104569972327">"Untuk menggunakan <xliff:g id="SUPP_SERVICE">%s</xliff:g>, pastikan kuota internet dan roaming data diaktifkan. Anda dapat mengubahnya di setelan jaringan seluler."</string>
     <string name="supp_service_over_ut_precautions_dual_sim" msgid="5166866975550910474">"Untuk menggunakan <xliff:g id="SUPP_SERVICE">%1$s</xliff:g>, pastikan kuota internet diaktifkan untuk SIM <xliff:g id="SIM_NUMBER">%2$d</xliff:g>. Anda dapat mengubahnya di setelan jaringan seluler."</string>
@@ -845,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"Anda perlu memulai ulang perangkat untuk mengubah setelan."</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"Mulai ulang"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"Batal"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"Tetapkan eSIM yang Dapat Dilepas sebagai Default"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"Daya Radio Seluler"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"Lihat Buku Alamat SIM"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"Lihat Panggilan Terbatas"</string>
@@ -899,6 +890,7 @@
     <string name="radio_info_band_mode_label" msgid="23480556225515290">"Pilih Band Radio"</string>
     <string name="radio_info_voice_network_type_label" msgid="2395347336419593265">"Jenis Jaringan Suara:"</string>
     <string name="radio_info_data_network_type_label" msgid="8886597029237501929">"Jenis Jaringan Data:"</string>
+    <string name="radio_info_override_network_type_label" msgid="4176280017221092005">"Ganti Jenis Jaringan:"</string>
     <string name="phone_index_label" msgid="6222406512768964268">"Pilih indeks ponsel"</string>
     <string name="radio_info_set_perferred_label" msgid="7408131389363136210">"Setel Jenis Jaringan yang Disukai:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="6951237885381284790">"Ping Hostname(www.google.com) IPv4:"</string>
@@ -910,10 +902,10 @@
     <string name="radio_info_smsc_refresh_label" msgid="8409923721451604560">"Perbarui"</string>
     <string name="radio_info_toggle_dns_check_label" msgid="1394078554927787350">"Aktifkan Pemeriksaan DNS"</string>
     <string name="oem_radio_info_label" msgid="2914167475119997456">"Info spesifik OEM/Setelan"</string>
-    <string name="radio_info_endc_available" msgid="4410653375290113436">"EN-DC Tersedia:"</string>
-    <string name="radio_info_dcnr_restricted" msgid="2469125498066960807">"Dibatasi DCNR:"</string>
-    <string name="radio_info_nr_available" msgid="1321318331361249997">"NR Tersedia:"</string>
-    <string name="radio_info_nr_state" msgid="1337571996788535356">"Status NR:"</string>
+    <string name="radio_info_endc_available" msgid="2983767110681230019">"EN-DC Tersedia (NSA):"</string>
+    <string name="radio_info_dcnr_restricted" msgid="7147511536420148173">"DCNR Dibatasi (NSA):"</string>
+    <string name="radio_info_nr_available" msgid="3383388088451237182">"NR Tersedia (NSA):"</string>
+    <string name="radio_info_nr_state" msgid="4158805093187555149">"Status NR (NSA):"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"Frekuensi NR:"</string>
     <string name="band_mode_title" msgid="7988822920724576842">"Setel Mode Band Radio"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"Memuat Daftar Band…"</string>
diff --git a/res/values-is/strings.xml b/res/values-is/strings.xml
index b44afa2..ef24bbd 100644
--- a/res/values-is/strings.xml
+++ b/res/values-is/strings.xml
@@ -637,14 +637,8 @@
     <string name="phone_in_ecm_notification_title" msgid="6825016389926367946">"Stilling fyrir svarhringingu neyðarsímtala"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="653972232922670335">"Slökkt á gagnatengingu"</string>
     <string name="phone_in_ecm_notification_complete_time" msgid="7341624337163082759">"Engin gagnatenging þangað til <xliff:g id="COMPLETETIME">%s</xliff:g>"</string>
-    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="5425906903766466743">
-      <item quantity="one">Síminn verður í stillingu fyrir svarhringingu neyðarsímtala í <xliff:g id="COUNT_1">%s</xliff:g> mínútu. Þegar hann er í þessari stillingu er ekki hægt að nota nein forrit sem krefjast gagnatengingar. Viltu hætta núna?</item>
-      <item quantity="other">Síminn verður í stillingu fyrir svarhringingu neyðarsímtala í <xliff:g id="COUNT_1">%s</xliff:g> mínútur. Þegar hann er í þessari stillingu er ekki hægt að nota nein forrit sem krefjast gagnatengingar. Viltu hætta núna?</item>
-    </plurals>
-    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="1152682528741457004">
-      <item quantity="one">Þessi aðgerð er ekki í boði þegar síminn er í stillingu fyrir svarhringingu neyðarsímtala. Síminn verður í þessari stillingu í <xliff:g id="COUNT_1">%s</xliff:g> mínútu. Viltu hætta núna?</item>
-      <item quantity="other">Þessi aðgerð er ekki í boði þegar síminn er í stillingu fyrir svarhringingu neyðarsímtala. Síminn verður í þessari stillingu í <xliff:g id="COUNT_1">%s</xliff:g> mínútur. Viltu hætta núna?</item>
-    </plurals>
+    <!-- format error in translation for alert_dialog_exit_ecm (7661603870224398025) -->
+    <!-- format error in translation for alert_dialog_not_avaialble_in_ecm (8717711120099503279) -->
     <string name="alert_dialog_in_ecm_call" msgid="1207545603149771978">"Þessi aðgerð er ekki í boði í neyðarsímtali."</string>
     <string name="progress_dialog_exiting_ecm" msgid="9159080081676927217">"Fer úr stillingu fyrir svarhringingu neyðarsímtala"</string>
     <string name="alert_dialog_yes" msgid="3532525979632841417">"Já"</string>
@@ -652,10 +646,7 @@
     <string name="alert_dialog_dismiss" msgid="1336356286354517054">"Hunsa"</string>
     <string name="phone_in_ecm_call_notification_text_without_data_restriction_hint" msgid="3747860785153531225">"Síminn er í stillingu fyrir svarhringingu neyðarsímtala"</string>
     <string name="phone_in_ecm_notification_complete_time_without_data_restriction_hint" msgid="3690292264812050858">"Til <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">Síminn verður í stillingu fyrir svarhringingu neyðarsímtala í <xliff:g id="COUNT_1">%s</xliff:g> mínútu.\nViltu hætta núna?</item>
-      <item quantity="other">Síminn verður í stillingu fyrir svarhringingu neyðarsímtala í <xliff:g id="COUNT_1">%s</xliff:g> mínútur.\nViltu hætta núna?</item>
-    </plurals>
+    <!-- format error in translation for alert_dialog_exit_ecm_without_data_restriction_hint (7549850847524907932) -->
     <string name="voicemail_provider" msgid="4158806657253745294">"Þjónusta"</string>
     <string name="voicemail_settings" msgid="4451045613238972776">"Uppsetning"</string>
     <string name="voicemail_number_not_set" msgid="8831561283386938155">"&lt;Ekki valið&gt;"</string>
@@ -683,7 +674,6 @@
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"Aðgengi"</string>
     <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"Wi-Fi símtal frá"</string>
     <string name="status_hint_label_wifi_call" msgid="942993035689809853">"Wi-Fi símtal"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"Ýttu aftur til að opna"</string>
     <string name="message_decode_error" msgid="1061856591500290887">"Villa kom upp við að afkóða skeytið."</string>
     <string name="callFailed_cdma_activation" msgid="5392057031552253550">"SIM-kort hefur virkjað þjónustuna þína og uppfært reikigetu símans."</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"Of mörg símtöl eru virk. Ljúktu eða sameinaðu fyrirliggjandi símtöl áður en þú hringir nýtt."</string>
@@ -827,7 +817,7 @@
     <string name="callFailed_already_dialing" msgid="7250591188960691086">"Ekki er hægt að hringja símtal þar sem þegar er verið að hringja annað símtal."</string>
     <string name="callFailed_already_ringing" msgid="2376603543544289303">"Ekki er hægt að hringja símtal þar sem ósvarað símtal er að berast. Svaraðu eða hafnaðu símtalinu áður en þú hringir nýtt símtal."</string>
     <string name="callFailed_calling_disabled" msgid="5010992739401206283">"Ekki er hægt að hringja símtal þar sem símtöl hafa verið gerð óvirk með því að nota kerfiseiginleikann ro.telephony.disable-call."</string>
-    <string name="callFailed_too_many_calls" msgid="5379426826618582180">"Ekki er hægt að hringja símtal þar sem þegar eru tvö símtöl í gangi. Aftengdu annað símtalið eða sameinaðu þau í símafund áður en þú hringir nýtt símtal."</string>
+    <string name="callFailed_too_many_calls" msgid="2761754044990799580">"Ekki er hægt að hringja símtal vegna þess að þegar eru tvö símtöl í gangi. Aftengdu annað símtalið eða sameinaðu þau í símafund áður en þú hringir nýtt símtal."</string>
     <string name="supp_service_over_ut_precautions" msgid="2145018231396701311">"Til að nota <xliff:g id="SUPP_SERVICE">%s</xliff:g> skaltu ganga úr skugga um að kveikt sé á farsímagögnum. Þú getur breytt þessu í stillingum farsímakerfis."</string>
     <string name="supp_service_over_ut_precautions_roaming" msgid="670342104569972327">"Til að nota <xliff:g id="SUPP_SERVICE">%s</xliff:g> skaltu ganga úr skugga um að kveikt sé á farsímagögnum og gagnareiki. Þú getur breytt þessu í stillingum farsímakerfis."</string>
     <string name="supp_service_over_ut_precautions_dual_sim" msgid="5166866975550910474">"Til að nota <xliff:g id="SUPP_SERVICE">%1$s</xliff:g> skaltu ganga úr skugga um að kveikt sé á farsímagögnum fyrir SIM-kortið <xliff:g id="SIM_NUMBER">%2$d</xliff:g>. Þú getur breytt þessu í stillingum farsímakerfis."</string>
@@ -845,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"Endurræsa þarf tækið til að breyta þessari stillingu."</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"Endurræsa"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"Hætta við"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"Stilla laust eSIM sem sjálfgefið"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"Loftnetsstyrkur farsíma"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"Skoða símaskrá SIM-korts"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"Skoða læst númeraval"</string>
@@ -899,6 +890,7 @@
     <string name="radio_info_band_mode_label" msgid="23480556225515290">"Velja útvarpstíðni"</string>
     <string name="radio_info_voice_network_type_label" msgid="2395347336419593265">"Netkerfi raddþjónustu:"</string>
     <string name="radio_info_data_network_type_label" msgid="8886597029237501929">"Tegund gagnanets:"</string>
+    <string name="radio_info_override_network_type_label" msgid="4176280017221092005">"Hnekkja tegund netkerfis:"</string>
     <string name="phone_index_label" msgid="6222406512768964268">"Velja atriðaskrá síma"</string>
     <string name="radio_info_set_perferred_label" msgid="7408131389363136210">"Veldu kjörsímkerfi:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="6951237885381284790">"Ping Hostname(www.google.com) IPv4:"</string>
@@ -910,10 +902,10 @@
     <string name="radio_info_smsc_refresh_label" msgid="8409923721451604560">"Endurnýja"</string>
     <string name="radio_info_toggle_dns_check_label" msgid="1394078554927787350">"Kveikja/slökkva á DNS-prófun"</string>
     <string name="oem_radio_info_label" msgid="2914167475119997456">"Upplýsingar/stillingar framleiðanda"</string>
-    <string name="radio_info_endc_available" msgid="4410653375290113436">"EN-DC tiltækt:"</string>
-    <string name="radio_info_dcnr_restricted" msgid="2469125498066960807">"DCNR takmarkað:"</string>
-    <string name="radio_info_nr_available" msgid="1321318331361249997">"NR tiltækt:"</string>
-    <string name="radio_info_nr_state" msgid="1337571996788535356">"NR staða:"</string>
+    <string name="radio_info_endc_available" msgid="2983767110681230019">"EN-DC tiltækt (NSA):"</string>
+    <string name="radio_info_dcnr_restricted" msgid="7147511536420148173">"DCNR takmarkað (NSA):"</string>
+    <string name="radio_info_nr_available" msgid="3383388088451237182">"NR tiltækt (NSA):"</string>
+    <string name="radio_info_nr_state" msgid="4158805093187555149">"NR staða (NSA):"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR tíðni:"</string>
     <string name="band_mode_title" msgid="7988822920724576842">"Velja útvarpstíðni"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"Hleður lista yfir tíðnisvið…"</string>
diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml
index 2804a05..7d8ba9d 100644
--- a/res/values-it/strings.xml
+++ b/res/values-it/strings.xml
@@ -17,7 +17,7 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="phoneAppLabel" product="tablet" msgid="1916019789885839910">"Dati cellulare"</string>
-    <string name="phoneAppLabel" product="default" msgid="130465039375347763">"Phone Services"</string>
+    <string name="phoneAppLabel" product="default" msgid="130465039375347763">"Servizi telefonici"</string>
     <string name="emergencyDialerIconLabel" msgid="8668005772339436680">"Chiamata di emergenza"</string>
     <string name="phoneIconLabel" msgid="3015941229249651419">"Telefono"</string>
     <string name="fdnListLabel" msgid="4119121875004244097">"Elenco numeri consentiti"</string>
@@ -637,14 +637,8 @@
     <string name="phone_in_ecm_notification_title" msgid="6825016389926367946">"Modalità di richiamata di emergenza"</string>
     <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="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="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_exit_ecm" msgid="7661603870224398025">"{count,plural, =1{Il telefono sarà in modalità Richiamata di emergenza per un minuto. In questa modalità non è possibile utilizzare app che impiegano una connessione dati. Vuoi uscire ora?}other{Il telefono sarà in modalità Richiamata di emergenza per %s minuti. In questa modalità non è possibile utilizzare app che impiegano una connessione dati. Vuoi uscire ora?}}"</string>
+    <string name="alert_dialog_not_avaialble_in_ecm" msgid="8717711120099503279">"{count,plural, =1{L\'azione selezionata non è disponibile in modalità Richiamata di emergenza. Il telefono sarà in questa modalità per un minuto. Vuoi uscire ora?}other{L\'azione selezionata non è disponibile in modalità Richiamata di emergenza. Il telefono sarà in questa modalità per %s minuti. Vuoi uscire ora?}}"</string>
     <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>
     <string name="alert_dialog_yes" msgid="3532525979632841417">"Sì"</string>
@@ -652,10 +646,7 @@
     <string name="alert_dialog_dismiss" msgid="1336356286354517054">"Ignora"</string>
     <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="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="alert_dialog_exit_ecm_without_data_restriction_hint" msgid="7549850847524907932">"{count,plural, =1{Il telefono sarà in modalità di richiamata di emergenza per un minuto.\nVuoi uscire ora?}other{Il telefono sarà in modalità di richiamata di emergenza per %s minuti.\nVuoi uscire ora?}}"</string>
     <string name="voicemail_provider" msgid="4158806657253745294">"Servizio"</string>
     <string name="voicemail_settings" msgid="4451045613238972776">"Configurazione"</string>
     <string name="voicemail_number_not_set" msgid="8831561283386938155">"&lt;Non impostato&gt;"</string>
@@ -683,7 +674,6 @@
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"Accessibilità"</string>
     <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"Chiamata Wi-Fi da"</string>
     <string name="status_hint_label_wifi_call" msgid="942993035689809853">"Chiamata Wi-Fi"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"Tocca di nuovo per aprire"</string>
     <string name="message_decode_error" msgid="1061856591500290887">"Si è verificato un errore durante la decodifica del messaggio."</string>
     <string name="callFailed_cdma_activation" msgid="5392057031552253550">"Una scheda SIM ha attivato il tuo servizio e ha aggiornato le funzionalità di roaming del telefono."</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"Ci sono troppe chiamate attive. Termina o unisci le chiamate esistenti prima di effettuarne una nuova."</string>
@@ -827,7 +817,7 @@
     <string name="callFailed_already_dialing" msgid="7250591188960691086">"Impossibile effettuare una chiamata perché è già presente un\'altra chiamata in uscita in composizione."</string>
     <string name="callFailed_already_ringing" msgid="2376603543544289303">"Impossibile effettuare una chiamata perché è presente una chiamata in arrivo senza risposta. Rispondi o rifiuta la chiamata in arrivo prima di effettuare una nuova chiamata."</string>
     <string name="callFailed_calling_disabled" msgid="5010992739401206283">"Impossibile effettuare una chiamata perché le chiamate sono state disattivate utilizzando la proprietà di sistema ro.telephony.disable-call."</string>
-    <string name="callFailed_too_many_calls" msgid="5379426826618582180">"Impossibile effettuare una chiamata perché sono già presenti due chiamate in corso. Unisci le chiamate in una conferenza o scollegane una prima di effettuare una nuova chiamata."</string>
+    <string name="callFailed_too_many_calls" msgid="2761754044990799580">"Impossibile effettuare una chiamata perché due chiamate sono già in corso. Unisci le chiamate in una conferenza o scollegane una prima di effettuare una nuova chiamata."</string>
     <string name="supp_service_over_ut_precautions" msgid="2145018231396701311">"Per utilizzare <xliff:g id="SUPP_SERVICE">%s</xliff:g>, assicurati che i dati mobili siano attivi. Puoi modificare questa opzione nelle impostazioni della rete mobile."</string>
     <string name="supp_service_over_ut_precautions_roaming" msgid="670342104569972327">"Per utilizzare <xliff:g id="SUPP_SERVICE">%s</xliff:g>, assicurati che i dati mobili e il roaming dei dati siano attivi. Puoi modificare queste opzioni nelle impostazioni della rete mobile."</string>
     <string name="supp_service_over_ut_precautions_dual_sim" msgid="5166866975550910474">"Per utilizzare <xliff:g id="SUPP_SERVICE">%1$s</xliff:g>, assicurati che i dati mobili siano attivi per la SIM <xliff:g id="SIM_NUMBER">%2$d</xliff:g>. Puoi modificare questa opzione nelle impostazioni della rete mobile."</string>
@@ -845,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"Riavvia il dispositivo per modificare questa impostazione."</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"Riavvia"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"Annulla"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"Imposta la eSIM rimovibile come predefinita"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"Potenza del segnale radio mobile"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"Visualizza rubrica SIM"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"Visualizza numeri consentiti"</string>
@@ -899,6 +890,7 @@
     <string name="radio_info_band_mode_label" msgid="23480556225515290">"Seleziona banda radio"</string>
     <string name="radio_info_voice_network_type_label" msgid="2395347336419593265">"Tipo di rete vocale:"</string>
     <string name="radio_info_data_network_type_label" msgid="8886597029237501929">"Tipo di rete di dati:"</string>
+    <string name="radio_info_override_network_type_label" msgid="4176280017221092005">"Override del tipo di rete:"</string>
     <string name="phone_index_label" msgid="6222406512768964268">"Seleziona indice telefonico"</string>
     <string name="radio_info_set_perferred_label" msgid="7408131389363136210">"Imposta tipo di rete preferito:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="6951237885381284790">"Ping nome host (www.google.com) IPv4:"</string>
@@ -910,10 +902,10 @@
     <string name="radio_info_smsc_refresh_label" msgid="8409923721451604560">"Aggiorna"</string>
     <string name="radio_info_toggle_dns_check_label" msgid="1394078554927787350">"Attiva o disattiva verifica DNS"</string>
     <string name="oem_radio_info_label" msgid="2914167475119997456">"Info/impostazioni specifiche OEM"</string>
-    <string name="radio_info_endc_available" msgid="4410653375290113436">"EN-DC disponibile:"</string>
-    <string name="radio_info_dcnr_restricted" msgid="2469125498066960807">"DCNR con limitazioni:"</string>
-    <string name="radio_info_nr_available" msgid="1321318331361249997">"NR disponibile:"</string>
-    <string name="radio_info_nr_state" msgid="1337571996788535356">"Stato NR:"</string>
+    <string name="radio_info_endc_available" msgid="2983767110681230019">"EN-DC disponibile (NSA):"</string>
+    <string name="radio_info_dcnr_restricted" msgid="7147511536420148173">"DCNR con limitazioni (NSA):"</string>
+    <string name="radio_info_nr_available" msgid="3383388088451237182">"NR disponibile (NSA):"</string>
+    <string name="radio_info_nr_state" msgid="4158805093187555149">"Stato NR (NSA):"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"Frequenza NR:"</string>
     <string name="band_mode_title" msgid="7988822920724576842">"Imposta modalità banda radio"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"Caricamento elenco bande…"</string>
diff --git a/res/values-iw/strings.xml b/res/values-iw/strings.xml
index 5fbf20d..9e6d461 100644
--- a/res/values-iw/strings.xml
+++ b/res/values-iw/strings.xml
@@ -637,18 +637,8 @@
     <string name="phone_in_ecm_notification_title" msgid="6825016389926367946">"מצב חירום של התקשרות חזרה"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="653972232922670335">"חיבור נתונים מושבת"</string>
     <string name="phone_in_ecm_notification_complete_time" msgid="7341624337163082759">"אין חיבור לרשת נתונים עד <xliff:g id="COMPLETETIME">%s</xliff:g>"</string>
-    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="5425906903766466743">
-      <item quantity="two">הטלפון יהיה במצב חירום של התקשרות חזרה למשך <xliff:g id="COUNT_1">%s</xliff:g> דקות. בזמן שהטלפון במצב הזה, לא ניתן להשתמש באפליקציות הזקוקות לחבילת גלישה. האם ברצונך לצאת כעת?</item>
-      <item quantity="many">הטלפון יהיה במצב חירום של התקשרות חזרה למשך <xliff:g id="COUNT_1">%s</xliff:g> דקות. בזמן שהטלפון במצב הזה, לא ניתן להשתמש באפליקציות הזקוקות לחבילת גלישה. האם ברצונך לצאת כעת?</item>
-      <item quantity="other">הטלפון יהיה במצב חירום של התקשרות חזרה למשך <xliff:g id="COUNT_1">%s</xliff:g> דקות. בזמן שהטלפון במצב הזה, לא ניתן להשתמש באפליקציות הזקוקות לחבילת גלישה. האם ברצונך לצאת כעת?</item>
-      <item quantity="one">הטלפון יהיה במצב חירום של התקשרות חזרה למשך דקה <xliff:g id="COUNT_0">%s</xliff:g>. בזמן שהטלפון במצב הזה, לא ניתן להשתמש באפליקציות הזקוקות לחבילת גלישה. האם ברצונך לצאת כעת?</item>
-    </plurals>
-    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="1152682528741457004">
-      <item quantity="two">הפעולה הנבחרת אינה זמינה במצב חירום של התקשרות חזרה. הטלפון יהיה במצב זה למשך <xliff:g id="COUNT_1">%s</xliff:g> דקות. האם ברצונך לצאת כעת?</item>
-      <item quantity="many">הפעולה הנבחרת אינה זמינה במצב חירום של התקשרות חזרה. הטלפון יהיה במצב זה למשך <xliff:g id="COUNT_1">%s</xliff:g> דקות. האם ברצונך לצאת כעת?</item>
-      <item quantity="other">הפעולה הנבחרת אינה זמינה במצב חירום של התקשרות חזרה. הטלפון יהיה במצב זה למשך <xliff:g id="COUNT_1">%s</xliff:g> דקות. האם ברצונך לצאת כעת?</item>
-      <item quantity="one">הפעולה הנבחרת אינה זמינה במצב חירום של התקשרות חזרה. הטלפון יהיה במצב זה למשך דקה <xliff:g id="COUNT_0">%s</xliff:g>. האם ברצונך לצאת כעת?</item>
-    </plurals>
+    <!-- format error in translation for alert_dialog_exit_ecm (7661603870224398025) -->
+    <!-- format error in translation for alert_dialog_not_avaialble_in_ecm (8717711120099503279) -->
     <string name="alert_dialog_in_ecm_call" msgid="1207545603149771978">"הפעולה שנבחרה אינה זמינה במהלך שיחת חירום."</string>
     <string name="progress_dialog_exiting_ecm" msgid="9159080081676927217">"יציאה ממצב התקשרות חזרה בחירום"</string>
     <string name="alert_dialog_yes" msgid="3532525979632841417">"כן"</string>
@@ -656,12 +646,7 @@
     <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">
-      <item quantity="two">הטלפון יהיה במצב \'התקשרות בחזרה בחירום\' ל-<xliff:g id="COUNT_1">%s</xliff:g> דקות.\nרוצה לצאת מהמצב הזה?</item>
-      <item quantity="many">הטלפון יהיה במצב \'התקשרות בחזרה בחירום\' ל-<xliff:g id="COUNT_1">%s</xliff:g> דקות.\nרוצה לצאת מהמצב הזה?</item>
-      <item quantity="other">הטלפון יהיה במצב \'התקשרות בחזרה בחירום\' ל-<xliff:g id="COUNT_1">%s</xliff:g> דקות.\nרוצה לצאת מהמצב הזה?</item>
-      <item quantity="one">הטלפון יהיה במצב \'התקשרות בחזרה בחירום\' לדקה אחת (<xliff:g id="COUNT_0">%s</xliff:g>).\nרוצה לצאת מהמצב הזה?</item>
-    </plurals>
+    <!-- format error in translation for alert_dialog_exit_ecm_without_data_restriction_hint (7549850847524907932) -->
     <string name="voicemail_provider" msgid="4158806657253745294">"שירות"</string>
     <string name="voicemail_settings" msgid="4451045613238972776">"הגדרות"</string>
     <string name="voicemail_number_not_set" msgid="8831561283386938155">"&lt;לא מוגדר&gt;"</string>
@@ -689,7 +674,6 @@
     <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="callFailed_cdma_activation" msgid="5392057031552253550">"‏כרטיס SIM הפעיל את השירות שלך ועדכן את יכולות הנדידה של הטלפון."</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"יש יותר מדי שיחות פעילות. כדי להתחיל שיחה חדשה עליך לסיים או למזג חלק מהשיחות הפעילות."</string>
@@ -833,7 +817,7 @@
     <string name="callFailed_already_dialing" msgid="7250591188960691086">"אי אפשר להתקשר כי יש שיחה יוצאת אחרת."</string>
     <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="callFailed_too_many_calls" msgid="2761754044990799580">"אי אפשר להתקשר כי כבר יש שתי שיחות פעילות. צריך לנתק את אחת מהשיחות או למזג אותן לשיחת ועידה ורק אז לנסות להתקשר למספר אחר."</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>\', צריך לוודא שהחיבור לחבילת הגלישה מופעל בכרטיס ה-SIM <xliff:g id="SIM_NUMBER">%2$d</xliff:g>. אפשר להפעיל אותו בהגדרות של הרשת הסלולרית."</string>
@@ -851,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"עליך להפעיל מחדש את המכשיר כדי לשנות הגדרה זו."</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"הפעלה מחדש"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"ביטול"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"‏הגדרת eSIM נשלף כברירת המחדל"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"הפעלה של רדיו סלולרי"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"‏הצגת פנקס כתובות של SIM"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"הצגת מספרי חיוג קבועים"</string>
@@ -905,6 +890,7 @@
     <string name="radio_info_band_mode_label" msgid="23480556225515290">"בחירת תדר רדיו"</string>
     <string name="radio_info_voice_network_type_label" msgid="2395347336419593265">"סוג רשת קולית:"</string>
     <string name="radio_info_data_network_type_label" msgid="8886597029237501929">"סוג רשת נתונים:"</string>
+    <string name="radio_info_override_network_type_label" msgid="4176280017221092005">"שינוי מברירת המחדל של סוג הרשת:"</string>
     <string name="phone_index_label" msgid="6222406512768964268">"בחירת אינדקס טלפון"</string>
     <string name="radio_info_set_perferred_label" msgid="7408131389363136210">"הגדרת סוג רשת מועדף:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="6951237885381284790">"‏נדנוד לשם המארח (www.google.com) מסוג IPv4:"</string>
@@ -916,10 +902,10 @@
     <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>
-    <string name="radio_info_dcnr_restricted" msgid="2469125498066960807">"‏לא תומך ב-5G NR:"</string>
-    <string name="radio_info_nr_available" msgid="1321318331361249997">"‏תומך ב-5G NR:"</string>
-    <string name="radio_info_nr_state" msgid="1337571996788535356">"‏מצב 5G NR:"</string>
+    <string name="radio_info_endc_available" msgid="2983767110681230019">"‏זמין ל-EN-DC‏ (NSA):"</string>
+    <string name="radio_info_dcnr_restricted" msgid="7147511536420148173">"‏מוגבל על ידי DCNR‏ (NSA):"</string>
+    <string name="radio_info_nr_available" msgid="3383388088451237182">"‏זמין ל-NR‏ (NSA):"</string>
+    <string name="radio_info_nr_state" msgid="4158805093187555149">"‏מצב NR‏ (NSA):"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"‏תדירות 5G NR:"</string>
     <string name="band_mode_title" msgid="7988822920724576842">"הגדרת מצב תדרים של רדיו"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"הטעינה של רשימת התדרים מתבצעת…"</string>
diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml
index 7e62fee..2922f6d 100644
--- a/res/values-ja/strings.xml
+++ b/res/values-ja/strings.xml
@@ -637,14 +637,8 @@
     <string name="phone_in_ecm_notification_title" msgid="6825016389926367946">"緊急通報待機モード"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="653972232922670335">"データ接続が無効です"</string>
     <string name="phone_in_ecm_notification_complete_time" msgid="7341624337163082759">"<xliff:g id="COMPLETETIME">%s</xliff:g> までデータ接続できません"</string>
-    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="5425906903766466743">
-      <item quantity="other">スマートフォンはあと<xliff:g id="COUNT_1">%s</xliff:g>分間、緊急通報待機モードです。このモードではデータ通信を行うアプリは使用できません。今すぐこのモードを終了しますか?</item>
-      <item quantity="one">スマートフォンはあと<xliff:g id="COUNT_0">%s</xliff:g>分間、緊急通報待機モードです。このモードではデータ通信を行うアプリは使用できません。今すぐこのモードを終了しますか?</item>
-    </plurals>
-    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="1152682528741457004">
-      <item quantity="other">選択した操作は緊急通報待機モードでは実行できません。スマートフォンはあと<xliff:g id="COUNT_1">%s</xliff:g>分間このモードです。今すぐこのモードを終了しますか?</item>
-      <item quantity="one">選択した操作は緊急通報待機モードでは実行できません。スマートフォンはあと<xliff:g id="COUNT_0">%s</xliff:g>分間このモードです。今すぐこのモードを終了しますか?</item>
-    </plurals>
+    <string name="alert_dialog_exit_ecm" msgid="7661603870224398025">"{count,plural, =1{スマートフォンが 1 分間にわたって緊急通報待機モードになります。このモード中はデータ通信を使用するアプリが利用できなくなります。今すぐこの通知画面を終了してもよろしいですか?}other{スマートフォンが %s 分間にわたって緊急通報待機モードになります。このモード中はデータ通信を使用するアプリケーションが利用できなくなります。今すぐこの通知画面を終了してもよろしいですか?}}"</string>
+    <string name="alert_dialog_not_avaialble_in_ecm" msgid="8717711120099503279">"{count,plural, =1{選択した操作は緊急通報待機モードでは実行できません。スマートフォンは 1 分間にわたってこのモードになります。今すぐアプリを終了してもよろしいですか?}other{選択した操作は緊急通報待機モードでは実行できません。スマートフォンは %s 分間にわたってこのモードになります。今すぐアプリを終了してもよろしいですか?}}"</string>
     <string name="alert_dialog_in_ecm_call" msgid="1207545603149771978">"選択した操作は緊急通報時には実行できません。"</string>
     <string name="progress_dialog_exiting_ecm" msgid="9159080081676927217">"緊急通報待機モードを終了しています"</string>
     <string name="alert_dialog_yes" msgid="3532525979632841417">"はい"</string>
@@ -652,10 +646,7 @@
     <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">
-      <item quantity="other">スマートフォンが <xliff:g id="COUNT_1">%s</xliff:g> 分間にわたって緊急通報待機モードになります。\n今すぐ終了してもよろしいですか?</item>
-      <item quantity="one">スマートフォンが <xliff:g id="COUNT_0">%s</xliff:g> 分間にわたって緊急通報待機モードになります。\n今すぐ終了してもよろしいですか?</item>
-    </plurals>
+    <string name="alert_dialog_exit_ecm_without_data_restriction_hint" msgid="7549850847524907932">"{count,plural, =1{スマートフォンが 1 分間にわたって緊急通報待機モードになります。\n今すぐこの通知画面を終了してもよろしいですか?}other{スマートフォンが %s 分間にわたって緊急通報待機モードになります。\n今すぐこの通知画面を終了してもよろしいですか?}}"</string>
     <string name="voicemail_provider" msgid="4158806657253745294">"サービス"</string>
     <string name="voicemail_settings" msgid="4451045613238972776">"セットアップ"</string>
     <string name="voicemail_number_not_set" msgid="8831561283386938155">"&lt;未設定&gt;"</string>
@@ -683,7 +674,6 @@
     <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="callFailed_cdma_activation" msgid="5392057031552253550">"SIMカードでサービスが有効になり、スマートフォンのローミング機能が更新されています。"</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"通話中の電話の数が多すぎます。新しく通話を発信するには、まず既存の通話を終了するか、統合してグループ通話にしてください。"</string>
@@ -827,7 +817,7 @@
     <string name="callFailed_already_dialing" msgid="7250591188960691086">"すでに別の通話を発信中のため、新しく通話を発信することはできません。"</string>
     <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">"通話中の電話がすでに 2 件あるため、新しく通話を発信することはできません。通話中の電話のどちらかを終了するか、2 件の通話を統合してグループ通話にすると、新しく通話を発信できるようになります。"</string>
+    <string name="callFailed_too_many_calls" msgid="2761754044990799580">"進行中の通話がすでに 2 件あるため、新しく通話を発信することはできません。進行中の通話のどちらかを終了するか、2 件の通話を統合してグループ通話にすると、新しく通話を発信できるようになります。"</string>
     <string name="supp_service_over_ut_precautions" msgid="2145018231396701311">"<xliff:g id="SUPP_SERVICE">%s</xliff:g>を利用するには、モバイルデータが ON になっている必要があります。モバイルデータの ON と OFF の切り替えは、モバイル ネットワーク設定で行えます。"</string>
     <string name="supp_service_over_ut_precautions_roaming" msgid="670342104569972327">"<xliff:g id="SUPP_SERVICE">%s</xliff:g>を利用するには、モバイルデータとデータ ローミングが ON になっている必要があります。これらの ON と OFF の切り替えは、モバイル ネットワーク設定で行えます。"</string>
     <string name="supp_service_over_ut_precautions_dual_sim" msgid="5166866975550910474">"<xliff:g id="SUPP_SERVICE">%1$s</xliff:g>を利用するには、SIM <xliff:g id="SIM_NUMBER">%2$d</xliff:g> のモバイルデータが ON になっている必要があります。モバイルデータの ON と OFF の切り替えは、モバイル ネットワーク設定で行えます。"</string>
@@ -845,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"この設定を変更するには、デバイスの再起動が必要です。"</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"再起動"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"キャンセル"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"リムーバブル eSIM をデフォルトに設定"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"モバイル無線電力"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"SIM のアドレス帳を表示"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"発信番号制限を表示"</string>
@@ -899,6 +890,7 @@
     <string name="radio_info_band_mode_label" msgid="23480556225515290">"無線バンドを選択"</string>
     <string name="radio_info_voice_network_type_label" msgid="2395347336419593265">"音声ネットワークの種類:"</string>
     <string name="radio_info_data_network_type_label" msgid="8886597029237501929">"データ ネットワークの種類:"</string>
+    <string name="radio_info_override_network_type_label" msgid="4176280017221092005">"優先ネットワークの種類:"</string>
     <string name="phone_index_label" msgid="6222406512768964268">"スマートフォンのインデックスを選択"</string>
     <string name="radio_info_set_perferred_label" msgid="7408131389363136210">"優先ネットワークの種類を設定:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="6951237885381284790">"ホスト名(www.google.com)の ping(IPv4):"</string>
@@ -910,10 +902,10 @@
     <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>
-    <string name="radio_info_dcnr_restricted" msgid="2469125498066960807">"DCNR 制限あり:"</string>
-    <string name="radio_info_nr_available" msgid="1321318331361249997">"NR 利用可能:"</string>
-    <string name="radio_info_nr_state" msgid="1337571996788535356">"NR ステータス:"</string>
+    <string name="radio_info_endc_available" msgid="2983767110681230019">"EN-DC 利用可能(NSA):"</string>
+    <string name="radio_info_dcnr_restricted" msgid="7147511536420148173">"DCNR 制限あり(NSA):"</string>
+    <string name="radio_info_nr_available" msgid="3383388088451237182">"NR 利用可能(NSA):"</string>
+    <string name="radio_info_nr_state" msgid="4158805093187555149">"NR ステータス(NSA):"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR 周波数:"</string>
     <string name="band_mode_title" msgid="7988822920724576842">"無線バンドモードの設定"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"バンドリストを読み込み中…"</string>
diff --git a/res/values-ka/strings.xml b/res/values-ka/strings.xml
index dfd6c9a..a76a9b8 100644
--- a/res/values-ka/strings.xml
+++ b/res/values-ka/strings.xml
@@ -637,14 +637,8 @@
     <string name="phone_in_ecm_notification_title" msgid="6825016389926367946">"გადაუდებელი გადმორეკვის რეჟიმი"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="653972232922670335">"მობილური ინტერნეტი გამორთულია"</string>
     <string name="phone_in_ecm_notification_complete_time" msgid="7341624337163082759">"მობილურ ინტერნეტთან კავშირი მიუწვდომელია <xliff:g id="COMPLETETIME">%s</xliff:g>-მდე"</string>
-    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="5425906903766466743">
-      <item quantity="other"> ტელეფონი იქნება საგანგებო დარეკვის რეჟიმი <xliff:g id="COUNT_1">%s</xliff:g> წუთით. ამ რეჟიმის მანძილზე ვერ მოხერხდება მონაცემთა დაკავშირების გმაოყენებით აპლიკაციების გამოყენება. გსურთ ახლა გამოსვლა?</item>
-      <item quantity="one"> ტელეფონი იქნება საგანგებო დარეკვის რეჟიმი <xliff:g id="COUNT_0">%s</xliff:g> წუთით. ამ რეჟიმის მანძილზე ვერ მოხერხდება მონაცემთა დაკავშირების გმაოყენებით აპლიკაციების გამოყენება. გსურთ ახლა გამოსვლა?</item>
-    </plurals>
-    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="1152682528741457004">
-      <item quantity="other"> შერჩეული აქცია არ არის ხელმისაწვდომი გადაუდებელი დარეკვის რეჟიმში. ტელეფონი იქნება ამ რეჟიმი <xliff:g id="COUNT_1">%s</xliff:g> წუთი. გსურთ ახლა გამოსვლა?</item>
-      <item quantity="one"> შერჩეული აქცია არ არის ხელმისაწვდომი გადაუდებელი დარეკვის რეჟიმში. ტელეფონი იქნება ამ რეჟიმი <xliff:g id="COUNT_0">%s</xliff:g> წუთი. გსურთ ახლა გამოსვლა?</item>
-    </plurals>
+    <string name="alert_dialog_exit_ecm" msgid="7661603870224398025">"{count,plural, =1{ტელეფონი გადაუდებელი გადმორეკვის რეჟიმში იქნება ერთი წუთის განმავლობაში. ამ რეჟიმის დროს ვერ გამოიყენებთ აპებს, რომლებიც მობილურ ინტერნეტს იყენებს. გსურთ ახლა გასვლა?}other{ტელეფონი გადაუდებელი გადმორეკვის რეჟიმში იქნება %s წუთის განმავლობაში. ამ რეჟიმის დროს ვერ გამოიყენებთ აპებს, რომლებიც მობილურ ინტერნეტს იყენებს. გსურთ ახლა გასვლა?}}"</string>
+    <string name="alert_dialog_not_avaialble_in_ecm" msgid="8717711120099503279">"{count,plural, =1{არჩეული მოქმედება მიუწვდომელია გადაუდებელი გადმორეკვის რეჟიმში. ტელეფონი ამ რეჟიმში დარჩება ერთი წუთის განმავლობაში. გსურთ ახლავე გასვლა?}other{არჩეული მოქმედება მიუწვდომელია გადაუდებელი გადმორეკვის რეჟიმში. ტელეფონი ამ რეჟიმში დარჩება %s წუთის განმავლობაში. გსურთ ახლავე გასვლა?}}"</string>
     <string name="alert_dialog_in_ecm_call" msgid="1207545603149771978">"არჩეული ქმედება მიუწვდომელია გადაუდებელის ზარის რეჟიმში."</string>
     <string name="progress_dialog_exiting_ecm" msgid="9159080081676927217">"გადაუდებელი გადმორეკვის რეჟიმიდან გამოსვლა"</string>
     <string name="alert_dialog_yes" msgid="3532525979632841417">"დიახ"</string>
@@ -652,10 +646,7 @@
     <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">
-      <item quantity="other">ტელეფონი <xliff:g id="COUNT_1">%s</xliff:g> წუთის განმავლობაში გადაუდებელი გადმორეკვის რეჟიმში იქნება.\nგსურთ გასვლა ახლავე?</item>
-      <item quantity="one">ტელეფონი <xliff:g id="COUNT_0">%s</xliff:g> წუთის განმავლობაში გადაუდებელი გადმორეკვის რეჟიმში იქნება.\nგსურთ გასვლა ახლავე?</item>
-    </plurals>
+    <string name="alert_dialog_exit_ecm_without_data_restriction_hint" msgid="7549850847524907932">"{count,plural, =1{ტელეფონი გადაუდებელი გადმორეკვის რეჟიმში იქნება ერთი წუთის განმავლობაში.\nგსურთ გასვლა ახლავე?}other{ტელეფონი გადაუდებელი გადმორეკვის რეჟიმში იქნება %s წუთის განმავლობაში.\nგსურთ გასვლა ახლავე?}}"</string>
     <string name="voicemail_provider" msgid="4158806657253745294">"სერვისი"</string>
     <string name="voicemail_settings" msgid="4451045613238972776">"დაყენება"</string>
     <string name="voicemail_number_not_set" msgid="8831561283386938155">"&lt;არ არის დაყენებული&gt;"</string>
@@ -683,7 +674,6 @@
     <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="callFailed_cdma_activation" msgid="5392057031552253550">"SIM ბარათმა გაააქტიურა თქვენი სერვისი და თქვენი ტელეფონის როუმინგის შესაძლებლობები განაახლა."</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"ძალიან ბევრი აქტიური ზარია. გთხოვთ, დაასრულოთ ან გააერთიანოთ არსებული ზარები ახალი ზარის განხორციელებამდე."</string>
@@ -827,7 +817,7 @@
     <string name="callFailed_already_dialing" msgid="7250591188960691086">"ზარის განხორციელება შეუძლებელია, რადგან სხვა გამავალი ზარი უკვე იკრიფება."</string>
     <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="callFailed_too_many_calls" msgid="2761754044990799580">"ზარის განხორციელება შეუძლებელია, რადგან უკვე ორი ზარი მიმდინარეობს. ახალი ზარის განსახორციელებლად გათიშეთ ერთ-ერთი ზარი ან გააერთიანეთ ისინი კონფერენციად."</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>-ის გამოსაყენებლად დარწმუნდით, რომ მობილური ინტერნეტი ჩართულია SIM <xliff:g id="SIM_NUMBER">%2$d</xliff:g>-სთვის. ეს შეგიძლიათ მობილური ქსელის პარამეტრებში შეცვალოთ."</string>
@@ -845,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"ამ პარამეტრის შესაცვლელად საჭიროა მოწყობილობის გადატვირთვა."</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"გადატვირთვა"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"გაუქმება"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"მოსახსნელი eSIM-ის ნაგულისხმევად დაყენება"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"მობილური რადიოკავშირის ელკვება"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"SIM-ის მისამართების წიგნის ნახვა"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"დაშვებული ნომრების ნახვა"</string>
@@ -899,6 +890,7 @@
     <string name="radio_info_band_mode_label" msgid="23480556225515290">"რადიოდიაპაზონის არჩევა"</string>
     <string name="radio_info_voice_network_type_label" msgid="2395347336419593265">"ხმოვანი კავშირის ტიპი:"</string>
     <string name="radio_info_data_network_type_label" msgid="8886597029237501929">"მობილური ინტერნეტის ტიპი:"</string>
+    <string name="radio_info_override_network_type_label" msgid="4176280017221092005">"ქსელის ტიპის უგულებელყოფა"</string>
     <string name="phone_index_label" msgid="6222406512768964268">"სატელეფონო ინდექსის არჩევა"</string>
     <string name="radio_info_set_perferred_label" msgid="7408131389363136210">"მიუთითეთ ქსელის სასურველი ტიპი:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="6951237885381284790">"Ping-ის მოთხოვნა ჰოსტის სახელისთვის(www.google.com), IPv4:"</string>
@@ -910,10 +902,10 @@
     <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>
-    <string name="radio_info_dcnr_restricted" msgid="2469125498066960807">"DCNR შეზღუდულია:"</string>
-    <string name="radio_info_nr_available" msgid="1321318331361249997">"NR ხელმისაწვდომია:"</string>
-    <string name="radio_info_nr_state" msgid="1337571996788535356">"NR-ის მდგომარეობა:"</string>
+    <string name="radio_info_endc_available" msgid="2983767110681230019">"EN-DC ხელმისაწვდომია (NSA):"</string>
+    <string name="radio_info_dcnr_restricted" msgid="7147511536420148173">"DCNR შეზღუდულია (NSA):"</string>
+    <string name="radio_info_nr_available" msgid="3383388088451237182">"NR ხელმისაწვდომია (NSA):"</string>
+    <string name="radio_info_nr_state" msgid="4158805093187555149">"NR-ის მდგომარეობა (NSA):"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR-ის სიხშირე:"</string>
     <string name="band_mode_title" msgid="7988822920724576842">"რადიოდიაპაზონის რეჟიმის დაყენება"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"მიმდინარეობს დიაპაზონთა სიის ჩატვირთვა…"</string>
diff --git a/res/values-kk/strings.xml b/res/values-kk/strings.xml
index baf170c..2b8ec37 100644
--- a/res/values-kk/strings.xml
+++ b/res/values-kk/strings.xml
@@ -303,7 +303,7 @@
     <string name="carrier_settings_euicc" msgid="1190237227261337749">"Оператор"</string>
     <string name="keywords_carrier_settings_euicc" msgid="8540160967922063745">"оператор, esim, sim, euicc, операторларды ауыстыру, оператор қосу"</string>
     <string name="carrier_settings_euicc_summary" msgid="2027941166597330117">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> — <xliff:g id="PHONE_NUMBER">%2$s</xliff:g>"</string>
-    <string name="mobile_data_settings_title" msgid="7228249980933944101">"Мобильдік деректер"</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="sim_selection_required_pref" msgid="6985901872978341314">"Таңдау қажет"</string>
@@ -637,14 +637,8 @@
     <string name="phone_in_ecm_notification_title" msgid="6825016389926367946">"Төтенше қоңырауды кері шалу режимі"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="653972232922670335">"Дерекқор байланысы өшірілген"</string>
     <string name="phone_in_ecm_notification_complete_time" msgid="7341624337163082759">"<xliff:g id="COMPLETETIME">%s</xliff:g> дейін мобильдік байланыс болмайды."</string>
-    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="5425906903766466743">
-      <item quantity="other">Телефон <xliff:g id="COUNT_1">%s</xliff:g> минут бойы жедел кері қоңырау шалу режимінде болады. Бұл режимде деректер байланысын пайдаланатын қолданбаларды пайдалану мүмкін емес. Қазір шығу керек пе?</item>
-      <item quantity="one">Телефон <xliff:g id="COUNT_0">%s</xliff:g> минут бойы жедел кері қоңырау шалу режимінде болады. Бұл режимде деректер байланысын пайдаланатын қолданбаларды пайдалану мүмкін емес. Қазір шығу керек пе?</item>
-    </plurals>
-    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="1152682528741457004">
-      <item quantity="other">Таңдалған әрекет жедел кері қоңырау шалу режимінде қол жетімді емес. Телефон осы режимде <xliff:g id="COUNT_1">%s</xliff:g> минут бойы болады. Қазір шығу керек пе?</item>
-      <item quantity="one">Таңдалған әрекет жедел кері қоңырау шалу режимінде қол жетімді емес. Телефон осы режимде <xliff:g id="COUNT_0">%s</xliff:g> минут бойы болады. Қазір шығу керек пе?</item>
-    </plurals>
+    <string name="alert_dialog_exit_ecm" msgid="7661603870224398025">"{count,plural, =1{Телефон \"Құтқару қызметіне кері қоңырау шалу\" режимінде бір минут болады. Осы режимде дерек байланысын пайдаланатын қолданбалар жұмыс істемейді. Режимнен қазір шығуды қалайсыз ба?}other{Телефон \"Құтқару қызметіне кері қоңырау шалу\" режимінде %s минут болады. Осы режимде дерек байланысын пайдаланатын қолданбалар жұмыс істемейді. Режимнен қазір шығуды қалайсыз ба?}}"</string>
+    <string name="alert_dialog_not_avaialble_in_ecm" msgid="8717711120099503279">"{count,plural, =1{Таңдалған әрекет \"Құтқару қызметіне кері қоңырау шалу\" режимінде қолжетімсіз. Телефон бұл режимде бір минут болады. Бұл режимнен қазір шығуды қалайсыз ба?}other{Таңдалған әрекет \"құтқару қызметіне кері қоңырау шалу\" режимінде қолжетімсіз. Телефон бұл режимде %s минут болады. Бұл режимнен қазір шығуды қалайсыз ба?}}"</string>
     <string name="alert_dialog_in_ecm_call" msgid="1207545603149771978">"Төтенше қоңырау режимінде таңдалған әрекет қол жетімсіз."</string>
     <string name="progress_dialog_exiting_ecm" msgid="9159080081676927217">"Төтенше қоңырауды кері шалу режимінен шығуда"</string>
     <string name="alert_dialog_yes" msgid="3532525979632841417">"Иә"</string>
@@ -652,10 +646,7 @@
     <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">
-      <item quantity="other">Телефон <xliff:g id="COUNT_1">%s</xliff:g> минут бойы шұғыл кері қоңырау шалу режимінде болады.\nҚазір шыққыңыз келе ме?</item>
-      <item quantity="one">Телефон <xliff:g id="COUNT_0">%s</xliff:g> минут бойы шұғыл кері қоңырау шалу режимінде болады.\nҚазір шыққыңыз келе ме?</item>
-    </plurals>
+    <string name="alert_dialog_exit_ecm_without_data_restriction_hint" msgid="7549850847524907932">"{count,plural, =1{Телефон бір минут бойы \"Құтқару қызметіне кері қоңырау шалу\" режимінде болады.\nҚазір шыққыңыз келе ме?}other{Телефон %s минут бойы \"Құтқару қызметіне кері қоңырау шалу\" режимінде болады.\nҚазір шыққыңыз келе ме?}}"</string>
     <string name="voicemail_provider" msgid="4158806657253745294">"Қызмет"</string>
     <string name="voicemail_settings" msgid="4451045613238972776">"Орнату"</string>
     <string name="voicemail_number_not_set" msgid="8831561283386938155">"&lt;Реттелген жоқ&gt;"</string>
@@ -683,7 +674,6 @@
     <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="callFailed_cdma_activation" msgid="5392057031552253550">"SIM карта қызметті белсендіріп, телефонның роуминг мүмкіндіктерін жаңартты."</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"Белсенді қоңыраулар тым көп. Жаңа қоңырау шалудан бұрын бар қоңырауларды аяқтаңыз немесе біріктіріңіз."</string>
@@ -827,7 +817,7 @@
     <string name="callFailed_already_dialing" msgid="7250591188960691086">"Қоңырау шалу мүмкін емес, себебі басқа шығыс қоңырау орындалуда."</string>
     <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="callFailed_too_many_calls" msgid="2761754044990799580">"Қоңырау шалу мүмкін емес, себебі екі қоңырау орындалуда. Жаңа қоңырауды бастау үшін олардың біреуін тоқтатыңыз немесе бір конференцияға қосыңыз."</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> пайдалану үшін SIM <xliff:g id="SIM_NUMBER">%2$d</xliff:g> картасында мобильді интернеттің қосылғанына көз жеткізіңіз. Оны мобильдік желі параметрлерінен өзгертуге болады."</string>
@@ -845,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"Бұл параметрді өзгерту үшін құрылғыны қайта қосу қажет."</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"Қайта қосу"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"Өшіру"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"Алынбалы eSIM әдепкі етіп орнату"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"Радиосигнал күші"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"SIM мекенжай кітапшасын көру"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"Рұқсат нөмірлерді көру"</string>
@@ -899,6 +890,7 @@
     <string name="radio_info_band_mode_label" msgid="23480556225515290">"Радио жолағын таңдау"</string>
     <string name="radio_info_voice_network_type_label" msgid="2395347336419593265">"Дауыс желісінің түрі:"</string>
     <string name="radio_info_data_network_type_label" msgid="8886597029237501929">"Деректер желісінің түрі:"</string>
+    <string name="radio_info_override_network_type_label" msgid="4176280017221092005">"Желі түрін қайта анықтау:"</string>
     <string name="phone_index_label" msgid="6222406512768964268">"Телефон индексін таңдау"</string>
     <string name="radio_info_set_perferred_label" msgid="7408131389363136210">"Қалаулы желі түрін реттеу:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="6951237885381284790">"Ping хост атауы (www.google.com) IPv4:"</string>
@@ -910,10 +902,10 @@
     <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">"Өндірушіге қатысты ақпарат/параметрлер"</string>
-    <string name="radio_info_endc_available" msgid="4410653375290113436">"EN-DC қолжетімді:"</string>
-    <string name="radio_info_dcnr_restricted" msgid="2469125498066960807">"DCNR шектеулі:"</string>
-    <string name="radio_info_nr_available" msgid="1321318331361249997">"NR қолжетімді:"</string>
-    <string name="radio_info_nr_state" msgid="1337571996788535356">"NR күйі:"</string>
+    <string name="radio_info_endc_available" msgid="2983767110681230019">"EN-DC қолжетімді (NSA):"</string>
+    <string name="radio_info_dcnr_restricted" msgid="7147511536420148173">"DCNR шектеулі (NSA):"</string>
+    <string name="radio_info_nr_available" msgid="3383388088451237182">"NR қолжетімді (NSA):"</string>
+    <string name="radio_info_nr_state" msgid="4158805093187555149">"NR күйі (NSA):"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR жиілігі:"</string>
     <string name="band_mode_title" msgid="7988822920724576842">"Радиожолақ режимін орнату"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"Жолақтар тізімі жүктелуде…"</string>
diff --git a/res/values-km/strings.xml b/res/values-km/strings.xml
index fb246f9..53aceaf 100644
--- a/res/values-km/strings.xml
+++ b/res/values-km/strings.xml
@@ -637,14 +637,8 @@
     <string name="phone_in_ecm_notification_title" msgid="6825016389926367946">"របៀប​ហៅ​ទៅ​វិញ​ពេល​មាន​អាសន្ន"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="653972232922670335">"បាន​បិទ​ការ​តភ្ជាប់​ទិន្នន័យ"</string>
     <string name="phone_in_ecm_notification_complete_time" msgid="7341624337163082759">"មិន​មាន​ការតភ្ជាប់​ទិន្នន័យ រហូតដល់ម៉ោង <xliff:g id="COMPLETETIME">%s</xliff:g>"</string>
-    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="5425906903766466743">
-      <item quantity="other">ទូរស័ព្ទនេះនឹងស្ថិតក្នុងរបៀប ហៅត្រលប់ពេលអាសន្ន រយៈពេល <xliff:g id="COUNT_1">%s</xliff:g> នាទី។ ខណៈពេលស្ថិតក្នុងរបៀបនេះ មិនមានកម្មវិធីដែលប្រើការភ្ជាប់ទិន្នន័យណា អាចប្រើបានបានឡើយ។ តើអ្នកចង់ចាកចេញឥឡូវនេះទេ?</item>
-      <item quantity="one">ទូរស័ព្ទនេះនឹងស្ថិតក្នុងរបៀប ហៅត្រលប់ពេលអាសន្ន រយៈពេល <xliff:g id="COUNT_0">%s</xliff:g> នាទី។ ខណៈពេលស្ថិតក្នុងរបៀបនេះ មិនមានកម្មវិធីដែលប្រើការភ្ជាប់ទិន្នន័យណា អាចប្រើបានបានឡើយ។ តើអ្នកចង់ចាកចេញឥឡូវនេះទេ?</item>
-    </plurals>
-    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="1152682528741457004">
-      <item quantity="other">សកម្មភាពដែលបានជ្រើសមិនមានទេ ខណៈពេលដែលស្ថិតក្នុងរបៀប ហៅត្រលប់ពេលអាសន្ន។ ទូរស័ព្ទនេះនឹងស្ថិតក្នុងរបៀបនេះរយៈពេល <xliff:g id="COUNT_1">%s</xliff:g> នាទី។ តើអ្នកចង់ចាកចេញឥឡូវនេះទេ?</item>
-      <item quantity="one">សកម្មភាពដែលបានជ្រើសមិនមានទេ ខណៈពេលដែលស្ថិតក្នុងរបៀប ហៅត្រលប់ពេលអាសន្ន។ ទូរស័ព្ទនេះនឹងស្ថិតក្នុងរបៀបនេះរយៈពេល <xliff:g id="COUNT_0">%s</xliff:g> នាទី។ តើអ្នកចង់ចាកចេញឥឡូវនេះទេ?</item>
-    </plurals>
+    <string name="alert_dialog_exit_ecm" msgid="7661603870224398025">"{count,plural, =1{ទូរសព្ទ​នឹង​ស្ថិត​ក្នុង​មុខងារ​ហៅ​ត្រឡប់​វិញ​ពី​សេវា​សង្គ្រោះ​បន្ទាន់​រយៈ​ពេល​មួយ​នាទី។ ពេល​នៅ​ក្នុង​មុខងារ​នេះ មិន​អាច​ប្រើប្រាស់​កម្មវិធី​ដែល​ប្រើ​ការតភ្ជាប់​ទិន្នន័យ​បាន​ទេ។ តើ​អ្នក​ចង់​ចាកចេញ​ឥឡូវ​នេះ​ដែរ​ឬ​ទេ?}other{ទូរសព្ទ​នឹង​ស្ថិត​ក្នុង​មុខងារ​ហៅ​ត្រឡប់​វិញ​ពី​សេវា​សង្គ្រោះ​បន្ទាន់​រយៈ​ពេល %s នាទី។ ពេល​នៅ​ក្នុង​មុខងារ​នេះ មិន​អាច​ប្រើប្រាស់​កម្មវិធី​ដែល​ប្រើ​ការតភ្ជាប់​ទិន្នន័យ​បាន​ទេ។ តើ​អ្នក​ចង់​ចាកចេញ​ឥឡូវ​នេះ​ដែរ​ឬ​ទេ?}}"</string>
+    <string name="alert_dialog_not_avaialble_in_ecm" msgid="8717711120099503279">"{count,plural, =1{មិន​អាច​ធ្វើ​សកម្មភាព​ដែល​បាន​ជ្រើសរើស​ទេ ពេល​នៅ​ក្នុង​មុខងារ​ហៅ​ត្រឡប់​វិញ​ពី​សេវា​សង្គ្រោះ​បន្ទាន់។ ទូរសព្ទ​នឹង​ស្ថិត​នៅ​ក្នុង​មុខងារ​នេះ​រយៈ​ពេល​មួយ​នាទី។ តើ​អ្នក​ចង់​ចាកចេញ​ឥឡូវ​នេះ​ដែរ​ឬ​ទេ?}other{មិន​អាច​ធ្វើ​សកម្មភាព​ដែល​បាន​ជ្រើសរើស​ទេ ពេល​នៅ​ក្នុង​មុខងារ​ហៅ​ត្រឡប់​វិញ​ពី​សេវា​សង្គ្រោះ​បន្ទាន់។ ទូរសព្ទ​នឹង​ស្ថិត​នៅ​ក្នុង​មុខងារ​នេះ​រយៈ​ពេល %s នាទី។ តើ​អ្នក​ចង់​ចាកចេញ​ឥឡូវ​នេះ​ដែរ​ឬ​ទេ?}}"</string>
     <string name="alert_dialog_in_ecm_call" msgid="1207545603149771978">"សកម្មភាព​ដែល​បាន​ជ្រើស​គឺ​មិន​អាច​រក​បាន​នៅ​ក្នុង​ខណៈ​ពេល​ដែល​ការ​ហៅ​អាសន្ន​មួយ​។"</string>
     <string name="progress_dialog_exiting_ecm" msgid="9159080081676927217">"ចេញ​ពី​របៀប​ហៅ​ទៅ​វិញ​​​ពេល​មាន​អាសន្ន"</string>
     <string name="alert_dialog_yes" msgid="3532525979632841417">"បាទ/ចាស"</string>
@@ -652,10 +646,7 @@
     <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">
-      <item quantity="other">ទូរសព្ទ​នឹង​ស្ថិត​ក្នុង​មុខងារ​ហៅ​ទៅ​វិញ​ពេល​មាន​អាសន្ន​រយៈ​ពេល <xliff:g id="COUNT_1">%s</xliff:g> នាទី។\nតើ​អ្នក​ចង់​ចេញ​ឥឡូវ​នេះ​ដែរ​ឬ​ទេ?</item>
-      <item quantity="one">ទូរសព្ទ​នឹង​ស្ថិត​ក្នុង​មុខងារ​ហៅ​ទៅ​វិញ​ពេល​មាន​អាសន្ន​រយៈ​ពេល <xliff:g id="COUNT_0">%s</xliff:g> នាទី។\nតើ​អ្នក​ចង់​ចេញ​ឥឡូវ​នេះ​ដែរ​ឬ​ទេ?</item>
-    </plurals>
+    <string name="alert_dialog_exit_ecm_without_data_restriction_hint" msgid="7549850847524907932">"{count,plural, =1{ទូរសព្ទ​នឹង​ស្ថិត​ក្នុង​មុខងារ​ហៅ​ត្រឡប់​វិញ​ពី​សេវា​សង្គ្រោះ​បន្ទាន់​រយៈ​ពេល​មួយ​នាទី។\nតើ​អ្នក​ចង់​ចេញ​ឥឡូវ​នេះ​ដែរ​ឬ​ទេ?}other{ទូរសព្ទ​នឹង​ស្ថិត​ក្នុង​មុខងារ​ហៅ​ត្រឡប់​វិញ​ពី​សេវា​សង្គ្រោះ​បន្ទាន់​រយៈ​ពេល %s នាទី។\nតើ​អ្នក​ចង់​ចេញ​ឥឡូវ​នេះ​ដែរ​ឬ​ទេ?}}"</string>
     <string name="voicemail_provider" msgid="4158806657253745294">"សេវា"</string>
     <string name="voicemail_settings" msgid="4451045613238972776">"រៀបចំ"</string>
     <string name="voicemail_number_not_set" msgid="8831561283386938155">"&lt; មិន​កំណត់ &gt;"</string>
@@ -683,7 +674,6 @@
     <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="callFailed_cdma_activation" msgid="5392057031552253550">"ស៊ីមកាតបានធ្វើឲ្យសេវាកម្មរបស់អ្នកសកម្ម និងបានធ្វើបច្ចុប្បន្នភាពសមត្ថភាពរ៉ូមីងសម្រាប់ទូរស័ព្ទរបស់អ្នក។"</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"មាន​ការ​ហៅ​ដែល​សកម្ម​ច្រើន​ពេក។ សូម​បញ្ចប់ ឬ​​ដាក់​​បញ្ចូល​គ្នា​ការ​ហៅ​ដែល​មាន​ស្រាប់​​មុន​ពេល​ដាក់​ការ​ហៅ​ថ្មី។"</string>
@@ -827,7 +817,7 @@
     <string name="callFailed_already_dialing" msgid="7250591188960691086">"មិន​អាច​ធ្វើ​ការ​ហៅ​ទូរសព្ទ​បាន​ទេ ដោយ​សារ​​មាន​គេ​​កំពុង​ហៅ​ទូរសព្ទ​ចេញ​រួច​ហើយ​។"</string>
     <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="callFailed_too_many_calls" msgid="2761754044990799580">"មិន​អាច​ធ្វើ​ការហៅ​ទូរសព្ទ​បាន​ទេ ដោយសារ​មាន​ការហៅ​ទូរសព្ទ​ពីរ​កំពុង​ដំណើរការ​រួច​ហើយ។ ផ្ដាច់​ការហៅ​ទូរសព្ទ​មួយ ឬ​ដាក់​ការហៅ​ទូរសព្ទ​ទាំងនេះ​ចូល​គ្នា​ជា​ការប្រជុំ​មួយ មុន​នឹង​ធ្វើ​ការ​ហៅ​ទូរសព្ទ​ថ្មី។"</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>
@@ -845,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"អ្នក​ត្រូវ​ចាប់ផ្ដើម​ឧបករណ៍​របស់អ្នកឡើងវិញ ដើម្បី​ផ្លាស់ប្ដូរ​ការកំណត់​នេះ។"</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"ចាប់ផ្ដើមឡើងវិញ"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"បោះបង់"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"កំណត់ eSIM ដែល​អាចដកបាន​ជាលំនាំដើម"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"ថាមពល​វិទ្យុ​ទូរសព្ទ​ចល័ត"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"មើលសៀវភៅអាសយដ្ឋានក្នុងស៊ីមកាត"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"មើល​លេខ​ហៅ​ថេរ"</string>
@@ -899,6 +890,7 @@
     <string name="radio_info_band_mode_label" msgid="23480556225515290">"ជ្រើសរើស​កម្រិត​បញ្ជូន​វិទ្យុ"</string>
     <string name="radio_info_voice_network_type_label" msgid="2395347336419593265">"ប្រភេទបណ្តាញសំឡេង៖"</string>
     <string name="radio_info_data_network_type_label" msgid="8886597029237501929">"ប្រភេទបណ្តាញទិន្នន័យ៖"</string>
+    <string name="radio_info_override_network_type_label" msgid="4176280017221092005">"លុប​ពី​លើ​ប្រភេទ​បណ្ដាញ៖"</string>
     <string name="phone_index_label" msgid="6222406512768964268">"ជ្រើសរើស​សន្ទស្សន៍​ទូរសព្ទ"</string>
     <string name="radio_info_set_perferred_label" msgid="7408131389363136210">"កំណត់ប្រភេទបណ្ដាញដែលពេញចិត្ត៖"</string>
     <string name="radio_info_ping_hostname_v4" msgid="6951237885381284790">"ភីង​ឈ្មោះ​ម៉ាស៊ីន (www.google.com) IPv4 ៖"</string>
@@ -910,10 +902,10 @@
     <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>
-    <string name="radio_info_dcnr_restricted" msgid="2469125498066960807">"DCNR ត្រូវ​បាន​រឹតត្បិត៖"</string>
-    <string name="radio_info_nr_available" msgid="1321318331361249997">"មាន NR៖"</string>
-    <string name="radio_info_nr_state" msgid="1337571996788535356">"ស្ថានភាព NR៖"</string>
+    <string name="radio_info_endc_available" msgid="2983767110681230019">"អាច​ប្រើ EN-DC បាន (NSA)៖"</string>
+    <string name="radio_info_dcnr_restricted" msgid="7147511536420148173">"បាន​ដាក់​កំហិត DCNR (NSA)៖"</string>
+    <string name="radio_info_nr_available" msgid="3383388088451237182">"អាច​ប្រើ NR បាន (NSA)៖"</string>
+    <string name="radio_info_nr_state" msgid="4158805093187555149">"ស្ថានភាព NR (NSA)៖"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"កម្រិត​ញឹកញាប់​នៃ NR៖"</string>
     <string name="band_mode_title" msgid="7988822920724576842">"កំណត់​មុខងារ​កម្រិត​បញ្ជូន​វិទ្យុ"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"កំពុងដំណើរការបញ្ជីក្រុម…"</string>
diff --git a/res/values-kn/strings.xml b/res/values-kn/strings.xml
index 00f5f65..5c0fc69 100644
--- a/res/values-kn/strings.xml
+++ b/res/values-kn/strings.xml
@@ -637,14 +637,8 @@
     <string name="phone_in_ecm_notification_title" msgid="6825016389926367946">"ತುರ್ತು ಕಾಲ್‌ಬ್ಯಾಕ್‌ ಮೋಡ್‌"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="653972232922670335">"ಡೇಟಾ ಸಂಪರ್ಕ ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ"</string>
     <string name="phone_in_ecm_notification_complete_time" msgid="7341624337163082759">"<xliff:g id="COMPLETETIME">%s</xliff:g> ರವರೆಗೆ ಯಾವುದೇ ಡೇಟಾ ಸಂಪರ್ಕವಿಲ್ಲ"</string>
-    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="5425906903766466743">
-      <item quantity="one">ಪೋನ್‌ <xliff:g id="COUNT_1">%s</xliff:g> ನಿಮಿಷಗಳ ಕಾಲ ತುರ್ತು ಮರಳಿ ಕರೆಮಾಡು ಮೋಡ್‌ನಲ್ಲಿರುತ್ತದೆ. ಈ ಮೋಡ್‌ನಲ್ಲಿರುವಾಗ ಯಾವುದೇ ಅಪ್ಲಿಕೇಶನ್‌ಗಳನ್ನು ಡೇಟಾ ಸಂಪರ್ಕವನ್ನು ಬಳಸಿಕೊಂಡು ಬಳಸಲು ಸಾಧ್ಯವಾಗುವುದಿಲ್ಲ. ನೀವು ಇದೀಗ ನಿರ್ಗಮಿಸಲು ಬಯಸುವಿರಾ?</item>
-      <item quantity="other">ಪೋನ್‌ <xliff:g id="COUNT_1">%s</xliff:g> ನಿಮಿಷಗಳ ಕಾಲ ತುರ್ತು ಮರಳಿ ಕರೆಮಾಡು ಮೋಡ್‌ನಲ್ಲಿರುತ್ತದೆ. ಈ ಮೋಡ್‌ನಲ್ಲಿರುವಾಗ ಯಾವುದೇ ಅಪ್ಲಿಕೇಶನ್‌ಗಳನ್ನು ಡೇಟಾ ಸಂಪರ್ಕವನ್ನು ಬಳಸಿಕೊಂಡು ಬಳಸಲು ಸಾಧ್ಯವಾಗುವುದಿಲ್ಲ. ನೀವು ಇದೀಗ ನಿರ್ಗಮಿಸಲು ಬಯಸುವಿರಾ?</item>
-    </plurals>
-    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="1152682528741457004">
-      <item quantity="one">ತುರ್ತು ಮರಳಿ ಕರೆಮಾಡು ಮೋಡ್‌ನಲ್ಲಿರುವಾಗ ಆಯ್ಕೆಮಾಡಿದ ಕ್ರಿಯೆಯು ಲಭ್ಯವಿರುವುದಿಲ್ಲ. ಫೋನ್‌ <xliff:g id="COUNT_1">%s</xliff:g> ನಿಮಿಷಗಳ ಕಾಲ ಈ ಮೋಡ್‌ನಲ್ಲಿರುತ್ತದೆ. ನೀವು ಇದೀಗ ನಿರ್ಗಮಿಸಲು ಬಯಸುವಿರಾ?</item>
-      <item quantity="other">ತುರ್ತು ಮರಳಿ ಕರೆಮಾಡು ಮೋಡ್‌ನಲ್ಲಿರುವಾಗ ಆಯ್ಕೆಮಾಡಿದ ಕ್ರಿಯೆಯು ಲಭ್ಯವಿರುವುದಿಲ್ಲ. ಫೋನ್‌ <xliff:g id="COUNT_1">%s</xliff:g> ನಿಮಿಷಗಳ ಕಾಲ ಈ ಮೋಡ್‌ನಲ್ಲಿರುತ್ತದೆ. ನೀವು ಇದೀಗ ನಿರ್ಗಮಿಸಲು ಬಯಸುವಿರಾ?</item>
-    </plurals>
+    <!-- format error in translation for alert_dialog_exit_ecm (7661603870224398025) -->
+    <!-- format error in translation for alert_dialog_not_avaialble_in_ecm (8717711120099503279) -->
     <string name="alert_dialog_in_ecm_call" msgid="1207545603149771978">"ತುರ್ತು ಕರೆಯಲ್ಲಿರುವಾಗ ಆಯ್ಕೆಮಾಡಿದ ಕ್ರಿಯೆಯು ಲಭ್ಯವಿರುವುದಿಲ್ಲ."</string>
     <string name="progress_dialog_exiting_ecm" msgid="9159080081676927217">"ತುರ್ತು ಕಾಲ್‌ಬ್ಯಾಕ್‌ ಮೋಡ್‌ನಿಂದ ನಿರ್ಗಮಿಸಲಾಗುತ್ತಿದೆ"</string>
     <string name="alert_dialog_yes" msgid="3532525979632841417">"ಹೌದು"</string>
@@ -652,10 +646,7 @@
     <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">
-      <item quantity="one">ಫೋನ್‌‌ <xliff:g id="COUNT_1">%s</xliff:g> ನಿಮಿಷಗಳವರೆಗೆ ತುರ್ತು ಕಾಲ್‌ಬ್ಯಾಕ್ ಮೋಡ್‌ನಲ್ಲಿರುತ್ತದೆ.\n ನೀವು ಈಗಲೇ ನಿರ್ಗಮಿಸಲು ಬಯಸುತ್ತೀರಾ?</item>
-      <item quantity="other">ಫೋನ್‌‌ <xliff:g id="COUNT_1">%s</xliff:g> ನಿಮಿಷಗಳವರೆಗೆ ತುರ್ತು ಕಾಲ್‌ಬ್ಯಾಕ್ ಮೋಡ್‌ನಲ್ಲಿರುತ್ತದೆ.\n ನೀವು ಈಗಲೇ ನಿರ್ಗಮಿಸಲು ಬಯಸುತ್ತೀರಾ?</item>
-    </plurals>
+    <!-- format error in translation for alert_dialog_exit_ecm_without_data_restriction_hint (7549850847524907932) -->
     <string name="voicemail_provider" msgid="4158806657253745294">"ಸೇವೆ"</string>
     <string name="voicemail_settings" msgid="4451045613238972776">"ಸೆಟಪ್"</string>
     <string name="voicemail_number_not_set" msgid="8831561283386938155">"&lt;ಹೊಂದಿಸಿಲ್ಲ&gt;"</string>
@@ -683,7 +674,6 @@
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"ಪ್ರವೇಶಿಸುವಿಕೆ"</string>
     <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"ಅವರಿಂದ ವೈ-ಫೈ ಕರೆ"</string>
     <string name="status_hint_label_wifi_call" msgid="942993035689809853">"ವೈ-ಫೈ ಕರೆ"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"ತೆರೆಯಲು ಮತ್ತೆ ಟ್ಯಾಪ್‌ ಮಾಡಿ"</string>
     <string name="message_decode_error" msgid="1061856591500290887">"ಸಂದೇಶವನ್ನು ಡೀಕೋಡ್ ಮಾಡುವಾಗ ದೋಷವುಂಟಾಗಿದೆ."</string>
     <string name="callFailed_cdma_activation" msgid="5392057031552253550">"ನಿಮ್ಮ ಸೇವೆಯನ್ನು ಸಿಮ್‌ ಕಾರ್ಡ್‌ ಸಕ್ರಿಯಗೊಳಿಸಿದೆ ಮತ್ತು ನಿಮ್ಮ ಫೋನ್‌ನ ರೋಮಿಂಗ್ ಸಾಮರ್ಥ್ಯವನ್ನು ಅಪ್‌ಡೇಟ್‌ ಮಾಡಲಾಗಿದೆ."</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"ಹಲವಾರು ಸಕ್ರಿಯ ಕರೆಗಳು. ಹೊಸ ಕರೆ ಮಾಡುವ ಮೊದಲು ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಕರೆಗಳನ್ನು ಅಂತ್ಯಗೊಳಿಸಿ ಅಥವಾ ವಿಲೀನಗೊಳಿಸಿ."</string>
@@ -827,7 +817,7 @@
     <string name="callFailed_already_dialing" msgid="7250591188960691086">"ಹೊಸ ಕರೆಯನ್ನು ಮಾಡಲು ಸಾಧ್ಯವಿಲ್ಲ ಏಕೆಂದರೆ ಮತ್ತೊಂದು ಕರೆಯನ್ನು ಈಗಾಗಲೇ ಮಾಡಲಾಗುತ್ತಿದೆ."</string>
     <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="callFailed_too_many_calls" msgid="2761754044990799580">"ಈಗಾಗಲೇ ಎರಡು ಕರೆಗಳು ಪ್ರಗತಿಯಲ್ಲಿರುವುದರಿಂದ, ಕರೆ ಮಾಡಲು ಸಾಧ್ಯವಾಗುವುದಿಲ್ಲ. ಒಂದು ಕರೆಯ ಸಂಪರ್ಕವನ್ನು ಕಡಿತಗೊಳಿಸಿ ಅಥವಾ ಹೊಸ ಕರೆಯನ್ನು ಮಾಡುವ ಮೊದಲು ಎರಡು ಕರೆಗಳನ್ನು ಒಂದೇ ಕಾನ್ಫರೆನ್ಸ್‌ನಲ್ಲಿ ವಿಲೀನಗೊಳಿಸಿ."</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>
@@ -845,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"ಈ ಸೆಟ್ಟಿಂಗ್ ಅನ್ನು ಬದಲಾಯಿಸಲು ನೀವು ಸಾಧನವನ್ನು ಮರುಪ್ರಾರಂಭಿಸುವ ಅಗತ್ಯವಿದೆ."</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"ಮರುಪ್ರಾರಂಭಿಸಿ"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"ರದ್ದುಮಾಡಿ"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"ತೆಗೆದುಹಾಕಬಹುದಾದ eSIM ಅನ್ನು ಡೀಫಾಲ್ಟ್ ಆಗಿ ಸೆಟ್ ಮಾಡಿ"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"ಮೊಬೈಲ್ ರೇಡಿಯೋ ಪವರ್"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"ಸಿಮ್ ವಿಳಾಸ ಪುಸ್ತಕವನ್ನು ವೀಕ್ಷಿಸಿ"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"ಸ್ಥಿರ ಡಯಲಿಂಗ್ ಸಂಖ್ಯೆಗಳನ್ನು ವೀಕ್ಷಿಸಿ"</string>
@@ -899,6 +890,7 @@
     <string name="radio_info_band_mode_label" msgid="23480556225515290">"ರೇಡಿಯೋ ಬ್ಯಾಂಡ್ ಆಯ್ಕೆಮಾಡಿ"</string>
     <string name="radio_info_voice_network_type_label" msgid="2395347336419593265">"ಧ್ವನಿ ನೆಟ್‌ವರ್ಕ್‌ ಪ್ರಕಾರ:"</string>
     <string name="radio_info_data_network_type_label" msgid="8886597029237501929">"ಡೇಟಾ ನೆಟ್‌ವರ್ಕ್ ಪ್ರಕಾರ:"</string>
+    <string name="radio_info_override_network_type_label" msgid="4176280017221092005">"ನೆಟ್‌ವರ್ಕ್ ಪ್ರಕಾರವನ್ನು ಅತಿಕ್ರಮಿಸಿ:"</string>
     <string name="phone_index_label" msgid="6222406512768964268">"ಫೋನ್ ಸೂಚಿಕೆಯನ್ನು ಆಯ್ಕೆಮಾಡಿ"</string>
     <string name="radio_info_set_perferred_label" msgid="7408131389363136210">"ಆದ್ಯತೆಯ ನೆಟ್‌ವರ್ಕ್‌ ಪ್ರಕಾರವನ್ನು ಹೊಂದಿಸಿ:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="6951237885381284790">"ಹೋಸ್ಟ್‌ ಹೆಸರನ್ನು ಪಿಂಗ್ ಮಾಡಿ(www.google.com) IPv4:"</string>
@@ -910,10 +902,10 @@
     <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>
-    <string name="radio_info_dcnr_restricted" msgid="2469125498066960807">"ನಿರ್ಬಂಧಿತ DCNR:"</string>
-    <string name="radio_info_nr_available" msgid="1321318331361249997">"NR ಲಭ್ಯವಿದೆ:"</string>
-    <string name="radio_info_nr_state" msgid="1337571996788535356">"NR ಸ್ಥಿತಿ:"</string>
+    <string name="radio_info_endc_available" msgid="2983767110681230019">"EN-DC ಲಭ್ಯವಿದೆ (NSA):"</string>
+    <string name="radio_info_dcnr_restricted" msgid="7147511536420148173">"DCNR ನಿರ್ಬಂಧಿತ (NSA):"</string>
+    <string name="radio_info_nr_available" msgid="3383388088451237182">"NR ಲಭ್ಯವಿದೆ (NSA):"</string>
+    <string name="radio_info_nr_state" msgid="4158805093187555149">"NR ಸ್ಥಿತಿ (NSA):"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR ಫ್ರೀಕ್ವೆನ್ಸಿ:"</string>
     <string name="band_mode_title" msgid="7988822920724576842">"ರೇಡಿಯೋ ಬ್ಯಾಂಡ್ ಮೋಡ್ ಹೊಂದಿಸಿ"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"ಬ್ಯಾಂಡ್ ಪಟ್ಟಿಯನ್ನು ಲೋಡ್ ಮಾಡಲಾಗುತ್ತಿದೆ…"</string>
diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml
index 52ad67b..db4ca40 100644
--- a/res/values-ko/strings.xml
+++ b/res/values-ko/strings.xml
@@ -637,14 +637,8 @@
     <string name="phone_in_ecm_notification_title" msgid="6825016389926367946">"긴급 콜백 모드"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="653972232922670335">"데이터 연결이 끊김"</string>
     <string name="phone_in_ecm_notification_complete_time" msgid="7341624337163082759">"<xliff:g id="COMPLETETIME">%s</xliff:g>까지 데이터 연결 없음"</string>
-    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="5425906903766466743">
-      <item quantity="other">휴대전화가 <xliff:g id="COUNT_1">%s</xliff:g>분 동안 긴급 콜백 모드로 전환됩니다. 긴급 콜백 모드에서는 데이터 연결을 이용하는 애플리케이션을 사용할 수 없습니다. 지금 종료하시겠습니까?</item>
-      <item quantity="one">휴대전화가 <xliff:g id="COUNT_0">%s</xliff:g>분 동안 긴급 콜백 모드로 전환됩니다. 긴급 콜백 모드에서는 데이터 연결을 이용하는 앱을 사용할 수 없습니다. 지금 종료하시겠습니까?</item>
-    </plurals>
-    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="1152682528741457004">
-      <item quantity="other">긴급 콜백 모드에서는 선택한 작업을 수행할 수 없습니다. 휴대전화가 <xliff:g id="COUNT_1">%s</xliff:g>분 동안 긴급 콜백 모드로 전환됩니다. 지금 종료하시겠습니까?</item>
-      <item quantity="one">긴급 콜백 모드에서는 선택한 작업을 수행할 수 없습니다. 휴대전화가 <xliff:g id="COUNT_0">%s</xliff:g>분 동안 긴급 콜백 모드로 전환됩니다. 지금 종료하시겠습니까?</item>
-    </plurals>
+    <string name="alert_dialog_exit_ecm" msgid="7661603870224398025">"{count,plural, =1{휴대전화가 1분간 긴급 콜백 모드를 유지합니다. 이 모드를 사용하는 중에는 데이터 연결이 필요한 애플리케이션을 사용할 수 없습니다. 종료하시겠습니까?}other{휴대전화가 %s분간 긴급 콜백 모드를 유지합니다. 이 모드를 사용하는 중에는 데이터 연결이 필요한 애플리케이션을 사용할 수 없습니다. 종료하시겠습니까?}}"</string>
+    <string name="alert_dialog_not_avaialble_in_ecm" msgid="8717711120099503279">"{count,plural, =1{긴급 콜백 모드에서는 선택한 작업을 사용할 수 없습니다. 휴대전화가 1분간 이 모드를 유지합니다. 종료하시겠습니까?}other{긴급 콜백 모드에서는 선택한 작업을 사용할 수 없습니다. 휴대전화가 %s분간 이 모드를 유지합니다. 종료하시겠습니까?}}"</string>
     <string name="alert_dialog_in_ecm_call" msgid="1207545603149771978">"긴급 통화 중에는 선택한 작업을 사용할 수 없습니다."</string>
     <string name="progress_dialog_exiting_ecm" msgid="9159080081676927217">"긴급 콜백 모드 종료하는 중"</string>
     <string name="alert_dialog_yes" msgid="3532525979632841417">"예"</string>
@@ -652,10 +646,7 @@
     <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">
-      <item quantity="other">휴대전화가 <xliff:g id="COUNT_1">%s</xliff:g>분간 긴급 콜백 모드로 유지됩니다.\n지금 종료하시겠습니까?</item>
-      <item quantity="one">휴대전화가 <xliff:g id="COUNT_0">%s</xliff:g>분간 긴급 콜백 모드로 유지됩니다.\n지금 종료하시겠습니까?</item>
-    </plurals>
+    <string name="alert_dialog_exit_ecm_without_data_restriction_hint" msgid="7549850847524907932">"{count,plural, =1{휴대전화가 1분간 긴급 콜백 모드로 유지됩니다.\n지금 종료하시겠습니까?}other{휴대전화가 %s분간 긴급 콜백 모드로 유지됩니다.\n지금 종료하시겠습니까?}}"</string>
     <string name="voicemail_provider" msgid="4158806657253745294">"서비스"</string>
     <string name="voicemail_settings" msgid="4451045613238972776">"설정"</string>
     <string name="voicemail_number_not_set" msgid="8831561283386938155">"&lt;설정 안됨&gt;"</string>
@@ -683,7 +674,6 @@
     <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="callFailed_cdma_activation" msgid="5392057031552253550">"SIM 카드로 서비스가 활성화되었으며 휴대전화 로밍 기능이 업데이트되었습니다."</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"활성화된 통화가 너무 많습니다. 새로운 전화를 걸기 전에 기존의 통화를 끝내거나 합치세요."</string>
@@ -827,7 +817,7 @@
     <string name="callFailed_already_dialing" msgid="7250591188960691086">"이미 다른 발신 전화에서 다이얼 중이므로 전화를 걸 수 없습니다."</string>
     <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="callFailed_too_many_calls" msgid="2761754044990799580">"이미 진행 중인 두 건의 통화가 있으므로 전화를 걸 수 없습니다. 새로 전화를 걸기 전에 통화 중 하나를 연결 해제하거나 두 통화를 다자간 통화로 병합하세요."</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>을(를) 사용하려면 SIM <xliff:g id="SIM_NUMBER">%2$d</xliff:g>에 모바일 데이터가 사용 설정되어 있는지 확인하세요. 이 설정은 모바일 네트워크 설정에서 변경할 수 있습니다."</string>
@@ -845,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"설정을 변경하려면 기기를 다시 시작해야 합니다."</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"다시 시작"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"취소"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"삭제 가능한 eSIM을 기본으로 설정"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"모바일 무선 전력"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"SIM 주소록 보기"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"발신 허용 번호 보기"</string>
@@ -899,6 +890,7 @@
     <string name="radio_info_band_mode_label" msgid="23480556225515290">"무선 주파수 대역 선택"</string>
     <string name="radio_info_voice_network_type_label" msgid="2395347336419593265">"음성 네트워크 유형:"</string>
     <string name="radio_info_data_network_type_label" msgid="8886597029237501929">"데이터 네트워크 유형:"</string>
+    <string name="radio_info_override_network_type_label" msgid="4176280017221092005">"네트워크 유형 재정의:"</string>
     <string name="phone_index_label" msgid="6222406512768964268">"휴대전화 색인 선택"</string>
     <string name="radio_info_set_perferred_label" msgid="7408131389363136210">"기본 네트워크 유형 설정:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="6951237885381284790">"핑 호스트 이름(www.google.com) IPv4:"</string>
@@ -910,10 +902,10 @@
     <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>
-    <string name="radio_info_dcnr_restricted" msgid="2469125498066960807">"DCNR 제한됨:"</string>
-    <string name="radio_info_nr_available" msgid="1321318331361249997">"NR 사용 가능:"</string>
-    <string name="radio_info_nr_state" msgid="1337571996788535356">"NR 상태:"</string>
+    <string name="radio_info_endc_available" msgid="2983767110681230019">"EN-DC 사용 가능(NSA):"</string>
+    <string name="radio_info_dcnr_restricted" msgid="7147511536420148173">"DCNR 제한됨(NSA):"</string>
+    <string name="radio_info_nr_available" msgid="3383388088451237182">"NR 사용 가능(NSA):"</string>
+    <string name="radio_info_nr_state" msgid="4158805093187555149">"NR 상태(NSA):"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR 빈도:"</string>
     <string name="band_mode_title" msgid="7988822920724576842">"무선 주파수 대역 모드 설정"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"대역 목록 로드 중…"</string>
diff --git a/res/values-ky/strings.xml b/res/values-ky/strings.xml
index 50453f2..b37559a 100644
--- a/res/values-ky/strings.xml
+++ b/res/values-ky/strings.xml
@@ -637,14 +637,8 @@
     <string name="phone_in_ecm_notification_title" msgid="6825016389926367946">"Шашылыш кайра чалуу режими"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="653972232922670335">"Мобилдик туташуу өчүрүлгөн"</string>
     <string name="phone_in_ecm_notification_complete_time" msgid="7341624337163082759">"<xliff:g id="COMPLETETIME">%s</xliff:g> чейин мобилдик байланыш жок"</string>
-    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="5425906903766466743">
-      <item quantity="other">Телефон Шашылыш кайра чалуу режиминде <xliff:g id="COUNT_1">%s</xliff:g> мүнөт бою болот. Бул режим күйүп турганда маалыматтык туташууну пайдаланган эч бир колдонмо иштетилбейт. Азыр чыгып кеткиңиз келеби?</item>
-      <item quantity="one">Телефон Шашылыш кайра чалуу режиминде <xliff:g id="COUNT_0">%s</xliff:g> мүнөт бою болот. Бул режим күйүп турганда маалыматтык туташууну пайдаланган эч бир колдонмо иштетилбейт. Азыр чыгып кеткиңиз келеби?</item>
-    </plurals>
-    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="1152682528741457004">
-      <item quantity="other">Тандалган аракет Шашылыш кайра чалуу режиминде жеткиликтүү эмес. Телефон бул режимде <xliff:g id="COUNT_1">%s</xliff:g> мүнөт бою болот. Азыр чыгып кеткиңиз келеби?</item>
-      <item quantity="one">Тандалган аракет Шашылыш кайра чалуу режиминде жеткиликтүү эмес. Телефон бул режимде <xliff:g id="COUNT_0">%s</xliff:g> мүнөт бою болот. Азыр чыгып кеткиңиз келеби?</item>
-    </plurals>
+    <string name="alert_dialog_exit_ecm" msgid="7661603870224398025">"{count,plural, =1{Телефон Шашылыш кайра чалуу режиминде бир мүнөт иштейт. Бул режимде колдонмолор мобилдик Интернет туташууну пайдалана алышпайт. Азыр чыгып кетесизби?}other{Телефон Шашылыш кайра чалуу режиминде %s мүнөт иштейт. Бул режимде колдонмолор мобилдик Интернет туташууну пайдалана алышпайт. Азыр чыгып кетесизби?}}"</string>
+    <string name="alert_dialog_not_avaialble_in_ecm" msgid="8717711120099503279">"{count,plural, =1{Бул аракет Шашылыш кайра чалуу режиминде иштебейт. Телефон бул режимде бир мүнөт бою болот. Азыр чыгып кетесизби?}other{Бул аракет Шашылыш кайра чалуу режиминде иштебейт. Телефон бул режимде %s мүнөт бою болот. Азыр чыгып кетесизби?}}"</string>
     <string name="alert_dialog_in_ecm_call" msgid="1207545603149771978">"Куткаруучуларга чалуу учурунда, бул тандалган аракет аткарылбайт."</string>
     <string name="progress_dialog_exiting_ecm" msgid="9159080081676927217">"Куткаруучулардын Кайра Чалуусу тартибинен чыгуу"</string>
     <string name="alert_dialog_yes" msgid="3532525979632841417">"Ооба"</string>
@@ -652,10 +646,7 @@
     <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">
-      <item quantity="other">Телефон шашылыш кайра чалуу режиминде <xliff:g id="COUNT_1">%s</xliff:g> мүнөт бою болот.\nАзыр чыгып кетесизби?</item>
-      <item quantity="one">Телефон шашылыш кайра чалуу режиминде <xliff:g id="COUNT_0">%s</xliff:g> мүнөт бою болот.\nАзыр чыгып кетесизби?</item>
-    </plurals>
+    <string name="alert_dialog_exit_ecm_without_data_restriction_hint" msgid="7549850847524907932">"{count,plural, =1{Телефон шашылыш кайра чалуу режиминде бир мүнөт иштейт.\nАзыр чыгып кетесизби?}other{Телефон шашылыш кайра чалуу режиминде %s мүнөт иштейт.\nАзыр чыгып кетесизби?}}"</string>
     <string name="voicemail_provider" msgid="4158806657253745294">"Кызмат"</string>
     <string name="voicemail_settings" msgid="4451045613238972776">"Жөндөө"</string>
     <string name="voicemail_number_not_set" msgid="8831561283386938155">"&lt;Коюлган эмес&gt;"</string>
@@ -683,7 +674,6 @@
     <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="callFailed_cdma_activation" msgid="5392057031552253550">"SIM-карта кызматыңызды жандырып, телефонуңуздун роуминг мүмкүнчүлүктөрүн жаңыртты."</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"Учурда жигердүү чалуулар өтө көп. Чалуу үчүн учурдагы чалууларды бүтүрүңүз же бириктириңиз."</string>
@@ -827,7 +817,7 @@
     <string name="callFailed_already_dialing" msgid="7250591188960691086">"Чалуу аткарылбайт, анткени башка чыгуучу чалуу терилүүдө."</string>
     <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="callFailed_too_many_calls" msgid="2761754044990799580">"Чалуу аткарылбайт, анткени эки чалуу аткарылууда. Бир чалууну өчүрүңүз же аларды конференцияга бириктириңиз."</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> SIM-картасында мобилдик Интернет күйгүзүлгөнүн текшериңиз. Муну мобилдик тармак жөндөөлөрүнөн өзгөртсөңүз болот."</string>
@@ -845,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"Бул жөндөөнү өзгөртүү үчүн түзмөгүңүздү өчүрүп күйгүзүңүз."</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"Өчүрүп-күйгүзүү"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"Жокко чыгаруу"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"Чыгарылуучу eSIM-картаны демейки катары коюу"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"Мобилдик радионун кубаты"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"SIM картадагы дарек китепчесин көрүү"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"Туруктуу терүү номерлерин көрүү"</string>
@@ -899,6 +890,7 @@
     <string name="radio_info_band_mode_label" msgid="23480556225515290">"Радио жыштыгын тандоо"</string>
     <string name="radio_info_voice_network_type_label" msgid="2395347336419593265">"Үн кызматынын тармагы:"</string>
     <string name="radio_info_data_network_type_label" msgid="8886597029237501929">"Мобилдик тармагынын түрү:"</string>
+    <string name="radio_info_override_network_type_label" msgid="4176280017221092005">"Тармактын түрүн өзгөртүп коюу:"</string>
     <string name="phone_index_label" msgid="6222406512768964268">"Телефондун индексин тандоо"</string>
     <string name="radio_info_set_perferred_label" msgid="7408131389363136210">"Тандалган тармак түрүн коюу:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="6951237885381284790">"www.google.com, IPv4 үчүн ping сурамы:"</string>
@@ -910,10 +902,10 @@
     <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>
-    <string name="radio_info_dcnr_restricted" msgid="2469125498066960807">"DCNR чектелген:"</string>
-    <string name="radio_info_nr_available" msgid="1321318331361249997">"NR жеткиликтүү:"</string>
-    <string name="radio_info_nr_state" msgid="1337571996788535356">"NR абалы:"</string>
+    <string name="radio_info_endc_available" msgid="2983767110681230019">"EN-DC жеткиликтүү (NSA):"</string>
+    <string name="radio_info_dcnr_restricted" msgid="7147511536420148173">"DCNR чектелген (NSA):"</string>
+    <string name="radio_info_nr_available" msgid="3383388088451237182">"NR жеткиликтүү (NSA):"</string>
+    <string name="radio_info_nr_state" msgid="4158805093187555149">"NR абалы (NSA):"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR жыштыгы:"</string>
     <string name="band_mode_title" msgid="7988822920724576842">"Радио жыштыгынын режимин коюу"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"Жыштык режиминин тизмеси жүктөлүүдө…"</string>
diff --git a/res/values-lo/strings.xml b/res/values-lo/strings.xml
index a7b1640..bdd63c9 100644
--- a/res/values-lo/strings.xml
+++ b/res/values-lo/strings.xml
@@ -637,14 +637,8 @@
     <string name="phone_in_ecm_notification_title" msgid="6825016389926367946">"ໂໝດໂທກັບສຸກເສີນ"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="653972232922670335">"ປິດການເຊື່ອມຕໍ່ຂໍ້ມູນແລ້ວ"</string>
     <string name="phone_in_ecm_notification_complete_time" msgid="7341624337163082759">"ບໍ່ມີການເຊື່ອມຕໍ່ອິນເຕີເນັດຈົນຮອດ <xliff:g id="COMPLETETIME">%s</xliff:g>"</string>
-    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="5425906903766466743">
-      <item quantity="other">ໂທ​ລະ​ສັບ​ຈະ​ຢູ່​ໃນ​ໂໝດ​ການ​ໂທ​​ສຸກ​ເສີນ​ເປັນ​ເວ​ລາ <xliff:g id="COUNT_1">%s</xliff:g> ນາ​ທີ. ໃນ​ຂະ​ນະ​ທີ່​ຢູ່​ໃນ​ໂໝດ​ນີ້ ບໍ່​ມີ​ແອພ​ພ​ລິ​ເຄ​ຊັນທີ່​ໃຊ້​ການ​ເຊື່ອມ​ຕໍ່​ຂໍ້​ມູນ​ທີ່​ສາ​ມາດ​ໃຊ້​ໄດ້. ທ່ານ​ຕ້ອງ​ການ​ອອກ​ດຽວ​ນີ້​ບໍ?</item>
-      <item quantity="one">ໂທ​ລະ​ສັບ​ຈະ​ຢູ່​ໃນ​ໂໝດ​ການ​ໂທ​​ສຸກ​ເສີນ​ເປັນ​ເວ​ລາ <xliff:g id="COUNT_0">%s</xliff:g> ນາ​ທີ. ໃນ​ຂະ​ນະ​ທີ່​ຢູ່​ໃນ​ໂໝດ​ນີ້ ບໍ່​ມີ​ແອັບ​ທີ່​ໃຊ້​ການ​ເຊື່ອມ​ຕໍ່​ຂໍ້​ມູນ​ທີ່​ສາ​ມາດ​ໃຊ້​ໄດ້. ທ່ານ​ຕ້ອງ​ການ​ອອກ​ດຽວ​ນີ້​ບໍ?</item>
-    </plurals>
-    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="1152682528741457004">
-      <item quantity="other">. ໂທ​ລະ​ສັບ​ຈະ​ຢູ່​ໃນ​ໂໝດ​ນີ້​ເປັນ​ເວ​ລາ <xliff:g id="COUNT_1">%s</xliff:g> ນາ​ທີ. ທ່ານ​ຕ້ອງ​ການ​ອອກ​ດຽວ​ນີ້​ບໍ?</item>
-      <item quantity="one">ການດຳເນີນການທີ່ເລືອກໄວ້ ບໍ່ສາມາດໃຊ້ໄດ້ໃນຂະນະທີ່ຢູ່ໃນການໂທສຸກເສີນ. ໂທ​ລະ​ສັບ​ຈະ​ຢູ່​ໃນ​ໂໝດ​ນີ້​ເປັນ​ເວ​ລາ <xliff:g id="COUNT_0">%s</xliff:g> ນາ​ທີ. ທ່ານ​ຕ້ອງ​ການ​ອອກ​ດຽວ​ນີ້​ບໍ?</item>
-    </plurals>
+    <string name="alert_dialog_exit_ecm" msgid="7661603870224398025">"{count,plural, =1{ໂທລະສັບຈະຢູ່ໃນໂໝດການໂທກັບສຸກເສີນເປັນເວລາໜຶ່ງນາທີ. ໃນລະຫວ່າງທີ່ຢູ່ໃນໂໝດນີ້ ບໍ່ສາມາດໃຊ້ແອັບທີ່ໃຊ້ການເຊື່ອມຕໍ່ອິນເຕີເນັດໄດ້. ທ່ານຕ້ອງການອອກດຽວນີ້ບໍ?}other{ໂທລະສັບຈະຢູ່ໃນໂໝດການໂທກັບສຸກເສີນເປັນເວລາ %s ນາທີ. ໃນລະຫວ່າງທີ່ຢູ່ໃນໂໝດນີ້ ບໍ່ສາມາດໃຊ້ແອັບພລິເຄຊັນທີ່ໃຊ້ການເຊື່ອມຕໍ່ອິນເຕີເນັດໄດ້. ທ່ານຕ້ອງການອອກດຽວນີ້ບໍ?}}"</string>
+    <string name="alert_dialog_not_avaialble_in_ecm" msgid="8717711120099503279">"{count,plural, =1{ຄຳສັ່ງທີ່ເລືອກບໍ່ສາມາດໃຊ້ໄດ້ໃນຂະນະທີ່ຢູ່ໃນໂໝດໂທກັບສຸກເສີນ. ໂທລະສັບຈະຢູ່ໃນໂໝດນີ້ອີກໜຶ່ງນາທີ. ທ່ານຕ້ອງການອອກດຽວນີ້ບໍ?}other{ຄຳສັ່ງທີ່ເລືອກບໍ່ສາມາດໃຊ້ໄດ້ໃນຂະນະທີ່ຢູ່ໃນໂໝດໂທກັບສຸກເສີນ. ໂທລະສັບຈະຢູ່ໃນໂໝດນີ້ອີກ %s ນາທີ. ທ່ານຕ້ອງການອອກດຽວນີ້ບໍ?}}"</string>
     <string name="alert_dialog_in_ecm_call" msgid="1207545603149771978">"ການດຳເນີນການທີ່ເລືອກ ບໍ່ສາມາດໃຊ້ໄດ້ໃນຂະນະທີ່ຢູ່ໃນການໂທສຸກເສີນ."</string>
     <string name="progress_dialog_exiting_ecm" msgid="9159080081676927217">"ກຳລັງອອກຈາກໂໝດໂທກັບສຸກເສີນ"</string>
     <string name="alert_dialog_yes" msgid="3532525979632841417">"ຕົກລົງ"</string>
@@ -652,10 +646,7 @@
     <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">
-      <item quantity="other">ໂທລະສັບຈະຢູ່ໃນໂໝດໂທກັບສຸກເສີນເປັນເວລາ <xliff:g id="COUNT_1">%s</xliff:g> ນາທີ.\nທ່ານຕ້ອງການອອກຕອນນີ້ເລີຍບໍ?</item>
-      <item quantity="one">ໂທລະສັບຈະຢູ່ໃນໂໝດໂທກັບສຸກເສີນເປັນເວລາ <xliff:g id="COUNT_0">%s</xliff:g> ນາທີ.\nທ່ານຕ້ອງການອອກຕອນນີ້ເລີຍບໍ?</item>
-    </plurals>
+    <string name="alert_dialog_exit_ecm_without_data_restriction_hint" msgid="7549850847524907932">"{count,plural, =1{ໂທລະສັບຈະຢູ່ໃນໂໝດໂທກັບສຸກເສີນເປັນເວລາໜຶ່ງນາທີ.\nທ່ານຕ້ອງການອອກຕອນນີ້ເລີຍບໍ?}other{ໂທລະສັບຈະຢູ່ໃນໂໝດໂທກັບສຸກເສີນເປັນເວລາ %s ນາທີ.\nທ່ານຕ້ອງການອອກຕອນນີ້ເລີຍບໍ?}}"</string>
     <string name="voicemail_provider" msgid="4158806657253745294">"ບໍລິການ"</string>
     <string name="voicemail_settings" msgid="4451045613238972776">"ຕັ້ງຄ່າ"</string>
     <string name="voicemail_number_not_set" msgid="8831561283386938155">"&lt;ຍັງບໍ່ໄດ້ຕັ້ງ&gt;"</string>
@@ -683,7 +674,6 @@
     <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="callFailed_cdma_activation" msgid="5392057031552253550">"ແຜ່ນ SIM ໄດ້ເປີດໃຊ້ງານການບໍລິການຂອງທ່ານ ແລະອັບເດດຄວາມສາມາດໃຊ້ງານຂ້າມເຂດຂອງໂທລະສັບຂອງທ່ານແລ້ວ."</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"ມີສາຍຫຼາຍເກີນໄປ. ກະລຸນາວາງສາຍ ຫຼື ຮວມສາຍທີ່ກຳລັງໂທກ່ອນໂທສາຍໃໝ່."</string>
@@ -827,7 +817,7 @@
     <string name="callFailed_already_dialing" msgid="7250591188960691086">"ບໍ່ສາມາດໂທອອກໄດ້ເນື່ອງຈາກກຳລັງມີສາຍໂທອອກຢູ່ກ່ອນແລ້ວ."</string>
     <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="callFailed_too_many_calls" msgid="2761754044990799580">"ບໍ່ສາມາດໂທໄດ້ເນື່ອງຈາກມີສອງສາຍກຳລັງໂທຢູ່. ກະລຸນາຕັດການເຊື່ອມຕໍ່ສາຍໃດໜຶ່ງອອກ ຫຼື ຮວມສາຍເປັນການປະຊຸມທາງໂທລະສັບກ່ອນໂທໃໝ່."</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>
@@ -845,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"ທ່ານຕ້ອງຣີສະຕາດອຸປະກອນຂອງທ່ານເພື່ອປ່ຽນການຕັ້ງຄ່ານີ້."</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"ປິດເປີດຄືນໃໝ່"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"ຍົກເລີກ"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"ຕັ້ງຄ່າ eSIM ແບບຖອດໄດ້ໃຫ້ເປັນຄ່າເລີ່ມຕົ້ນ"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"ພະລັງງານວິທະຍຸມືຖື"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"ເບິ່ງສະໝຸດທີ່ຢູ່ໃນຊິມ"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"ເບິ່ງໝາຍເລກໂທອອກທີ່ກຳນົດ"</string>
@@ -899,6 +890,7 @@
     <string name="radio_info_band_mode_label" msgid="23480556225515290">"ເລືອກແຖບຄວາມຖີ່ວິທະຍຸ"</string>
     <string name="radio_info_voice_network_type_label" msgid="2395347336419593265">"ປະເພດເຄືອຂ່າຍສຽງ:"</string>
     <string name="radio_info_data_network_type_label" msgid="8886597029237501929">"ປະເພດເຄືອຂ່າຍຂໍ້ມູນ:"</string>
+    <string name="radio_info_override_network_type_label" msgid="4176280017221092005">"ຍົກເລີກປະເພດເຄືອຂ່າຍ:"</string>
     <string name="phone_index_label" msgid="6222406512768964268">"ເລືອກດັດຊະນີໂທລະສັບ"</string>
     <string name="radio_info_set_perferred_label" msgid="7408131389363136210">"ເລືອກປະເພດເຄືອຂ່າຍທີ່ຕ້ອງການໃຊ້:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="6951237885381284790">"Ping Hostname(www.google.com) IPv4:"</string>
@@ -910,10 +902,10 @@
     <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>
-    <string name="radio_info_dcnr_restricted" msgid="2469125498066960807">"ຈຳກັດ DCNR ໄວ້ແລ້ວ:"</string>
-    <string name="radio_info_nr_available" msgid="1321318331361249997">"ມີ NR:"</string>
-    <string name="radio_info_nr_state" msgid="1337571996788535356">"ສະຖານະ NR:"</string>
+    <string name="radio_info_endc_available" msgid="2983767110681230019">"ສາມາດໃຊ້ EN-DC ໄດ້ (NSA):"</string>
+    <string name="radio_info_dcnr_restricted" msgid="7147511536420148173">"ຈຳກັດ DCNR (NSA):"</string>
+    <string name="radio_info_nr_available" msgid="3383388088451237182">"ສາມາດໃຊ້ NR ໄດ້ (NSA):"</string>
+    <string name="radio_info_nr_state" msgid="4158805093187555149">"ສະຖານະ NR (NSA):"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"ຄວາມຖີ່ NR:"</string>
     <string name="band_mode_title" msgid="7988822920724576842">"ຕັ້ງໂໝດແຖບຄວາມຖີ່ວິທະຍຸ"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"ກຳລັງດາວໂຫລດລາຍຊື່ແຖບຄວາມຖີ່..."</string>
diff --git a/res/values-lt/strings.xml b/res/values-lt/strings.xml
index 44e358f..bede872 100644
--- a/res/values-lt/strings.xml
+++ b/res/values-lt/strings.xml
@@ -637,18 +637,8 @@
     <string name="phone_in_ecm_notification_title" msgid="6825016389926367946">"Atgalinio skambinimo pagalbos numeriu režimas"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="653972232922670335">"Duomenų ryšys išjungtas"</string>
     <string name="phone_in_ecm_notification_complete_time" msgid="7341624337163082759">"Duomenų ryšio nebus iki <xliff:g id="COMPLETETIME">%s</xliff:g>"</string>
-    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="5425906903766466743">
-      <item quantity="one">Telefonas veiks pagalbos tarnybos atskambinimo režimu <xliff:g id="COUNT_1">%s</xliff:g> minutę. Įgalinus šį režimą negalima naudoti jokių programų, kurioms reikalingas duomenų ryšys. Norite dabar išeiti iš šio režimo?</item>
-      <item quantity="few">Telefonas veiks pagalbos tarnybos atskambinimo režimu <xliff:g id="COUNT_1">%s</xliff:g> minutes. Įgalinus šį režimą negalima naudoti jokių programų, kurioms reikalingas duomenų ryšys. Norite dabar išeiti iš šio režimo?</item>
-      <item quantity="many">Telefonas veiks pagalbos tarnybos atskambinimo režimu <xliff:g id="COUNT_1">%s</xliff:g> minutės. Įgalinus šį režimą negalima naudoti jokių programų, kurioms reikalingas duomenų ryšys. Norite dabar išeiti iš šio režimo?</item>
-      <item quantity="other">Telefonas veiks pagalbos tarnybos atskambinimo režimu <xliff:g id="COUNT_1">%s</xliff:g> minučių. Įgalinus šį režimą negalima naudoti jokių programų, kurioms reikalingas duomenų ryšys. Norite dabar išeiti iš šio režimo?</item>
-    </plurals>
-    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="1152682528741457004">
-      <item quantity="one">Įgalinus pagalbos tarnybos atskambinimo režimą pasirinkto veiksmo atlikti negalima. Telefonas veiks pagalbos tarnybos atskambinimo režimu <xliff:g id="COUNT_1">%s</xliff:g> minutę. Norite dabar išeiti iš šio režimo?</item>
-      <item quantity="few">Įgalinus pagalbos tarnybos atskambinimo režimą pasirinkto veiksmo atlikti negalima. Telefonas veiks pagalbos tarnybos atskambinimo režimu <xliff:g id="COUNT_1">%s</xliff:g> minutes. Norite dabar išeiti iš šio režimo?</item>
-      <item quantity="many">Įgalinus pagalbos tarnybos atskambinimo režimą pasirinkto veiksmo atlikti negalima. Telefonas veiks pagalbos tarnybos atskambinimo režimu <xliff:g id="COUNT_1">%s</xliff:g> minutės. Norite dabar išeiti iš šio režimo?</item>
-      <item quantity="other">Įgalinus pagalbos tarnybos atskambinimo režimą pasirinkto veiksmo atlikti negalima. Telefonas veiks pagalbos tarnybos atskambinimo režimu <xliff:g id="COUNT_1">%s</xliff:g> minučių. Norite dabar išeiti iš šio režimo?</item>
-    </plurals>
+    <!-- format error in translation for alert_dialog_exit_ecm (7661603870224398025) -->
+    <!-- format error in translation for alert_dialog_not_avaialble_in_ecm (8717711120099503279) -->
     <string name="alert_dialog_in_ecm_call" msgid="1207545603149771978">"Skambinant pagalbos numeriu pasirinkto veiksmo atlikti nepavyks."</string>
     <string name="progress_dialog_exiting_ecm" msgid="9159080081676927217">"Išeinama iš atgalinio skambinimo pagalbos numeriu režimo"</string>
     <string name="alert_dialog_yes" msgid="3532525979632841417">"Taip"</string>
@@ -656,12 +646,7 @@
     <string name="alert_dialog_dismiss" msgid="1336356286354517054">"Atsisakyti"</string>
     <string name="phone_in_ecm_call_notification_text_without_data_restriction_hint" msgid="3747860785153531225">"Telefone veikia atgalinio skambinimo pagalbos numeriu režimas"</string>
     <string name="phone_in_ecm_notification_complete_time_without_data_restriction_hint" msgid="3690292264812050858">"Iki <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">Telefone <xliff:g id="COUNT_1">%s</xliff:g> minutę veiks atgalinio skambinimo pagalbos numeriu režimas.\nAr norite jį išjungti dabar?</item>
-      <item quantity="few">Telefone <xliff:g id="COUNT_1">%s</xliff:g> minutes veiks atgalinio skambinimo pagalbos numeriu režimas.\nAr norite jį išjungti dabar?</item>
-      <item quantity="many">Telefone <xliff:g id="COUNT_1">%s</xliff:g> minutės veiks atgalinio skambinimo pagalbos numeriu režimas.\nAr norite jį išjungti dabar?</item>
-      <item quantity="other">Telefone <xliff:g id="COUNT_1">%s</xliff:g> minučių veiks atgalinio skambinimo pagalbos numeriu režimas.\nAr norite jį išjungti dabar?</item>
-    </plurals>
+    <!-- format error in translation for alert_dialog_exit_ecm_without_data_restriction_hint (7549850847524907932) -->
     <string name="voicemail_provider" msgid="4158806657253745294">"Paslaugos teikėjas"</string>
     <string name="voicemail_settings" msgid="4451045613238972776">"Sąranka"</string>
     <string name="voicemail_number_not_set" msgid="8831561283386938155">"&lt;Nenustatyta&gt;"</string>
@@ -689,7 +674,6 @@
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"Pritaikymas neįgaliesiems"</string>
     <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"„Wi-Fi“ skambutis nuo"</string>
     <string name="status_hint_label_wifi_call" msgid="942993035689809853">"„Wi-Fi“ skambutis"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"Palieskite dar kartą, kad atidarytumėte"</string>
     <string name="message_decode_error" msgid="1061856591500290887">"Iškoduojant pranešimą įvyko klaida."</string>
     <string name="callFailed_cdma_activation" msgid="5392057031552253550">"SIM kortelė suaktyvino paslaugą ir atnaujino telefono tarptinklinio duomenų ryšio funkcijas."</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"Yra per daug aktyvių skambučių. Prieš skambindami kitu numeriu, užbaikite ar sujunkite esamus skambučius."</string>
@@ -833,7 +817,7 @@
     <string name="callFailed_already_dialing" msgid="7250591188960691086">"Negalite skambinti, nes šiuo metu vykdomas kitas siunčiamasis skambutis."</string>
     <string name="callFailed_already_ringing" msgid="2376603543544289303">"Negalite skambinti, nes yra neatsakytas gaunamasis skambutis. Atsiliepkite arba atmeskite gaunamąjį skambutį prieš pradėdami naują."</string>
     <string name="callFailed_calling_disabled" msgid="5010992739401206283">"Negalite skambinti, nes skambinimo funkcija išjungta naudojant sistemos ypatybę „ro.telephony.disable-call“."</string>
-    <string name="callFailed_too_many_calls" msgid="5379426826618582180">"Negalite skambinti, nes jau dalyvaujate dviejuose skambučiuose. Užbaikite vieną iš skambučių arba sujunkite juos į konferenciją prieš pradėdami naują skambutį."</string>
+    <string name="callFailed_too_many_calls" msgid="2761754044990799580">"Negalite skambinti, nes jau dalyvaujate dviejuose skambučiuose. Prieš pradėdami naują skambutį užbaikite vieną iš skambučių arba sujunkite juos į konferenciją."</string>
     <string name="supp_service_over_ut_precautions" msgid="2145018231396701311">"Norėdami naudoti paslaugą (<xliff:g id="SUPP_SERVICE">%s</xliff:g>), įsitikinkite, kad mobiliojo ryšio duomenys įjungti. Tai galite pakeisti apsilankę mobiliojo ryšio tinklo nustatymuose."</string>
     <string name="supp_service_over_ut_precautions_roaming" msgid="670342104569972327">"Norėdami naudoti paslaugą (<xliff:g id="SUPP_SERVICE">%s</xliff:g>), įsitikinkite, kad mobiliojo ryšio duomenys ir tarptinklinis duomenų ryšys įjungti. Tai galite pakeisti apsilankę mobiliojo ryšio nustatymuose."</string>
     <string name="supp_service_over_ut_precautions_dual_sim" msgid="5166866975550910474">"Norėdami naudoti paslaugą (<xliff:g id="SUPP_SERVICE">%1$s</xliff:g>0, įsitikinkite, kad <xliff:g id="SIM_NUMBER">%2$d</xliff:g> SIM kortelės mobiliojo ryšio duomenys įjungti. Tai galite pakeisti apsilankę mobiliojo ryšio tinklo nustatymuose."</string>
@@ -851,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"Turite paleisti įrenginį iš naujo, kad galėtumėte pakeisti šį nustatymą."</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"Paleisti iš naujo"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"Atšaukti"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"Nustatyti pašalinimą „eSIM“ kaip numatytąją"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"Mobiliojo ryšio radijo signalas"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"Žiūrėti SIM kortelės adresų knygą"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"Žiūrėti fiksuotojo rinkimo numerius"</string>
@@ -905,6 +890,7 @@
     <string name="radio_info_band_mode_label" msgid="23480556225515290">"Pasirinkti radijo dažnių juostą"</string>
     <string name="radio_info_voice_network_type_label" msgid="2395347336419593265">"Balso tinklo tipas:"</string>
     <string name="radio_info_data_network_type_label" msgid="8886597029237501929">"Duomenų tinklo tipas:"</string>
+    <string name="radio_info_override_network_type_label" msgid="4176280017221092005">"Nepaisyti tinklo tipo:"</string>
     <string name="phone_index_label" msgid="6222406512768964268">"Pasirinkti telefono indeksą"</string>
     <string name="radio_info_set_perferred_label" msgid="7408131389363136210">"Nustatyti pageidaujamą tinklo tipą:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="6951237885381284790">"Ryšio patikros prieglobos serverio pavadinimas (www.google.com) „IPv4“:"</string>
@@ -916,10 +902,10 @@
     <string name="radio_info_smsc_refresh_label" msgid="8409923721451604560">"Atnaujinti"</string>
     <string name="radio_info_toggle_dns_check_label" msgid="1394078554927787350">"Kaitalioti DNS tikrinimą"</string>
     <string name="oem_radio_info_label" msgid="2914167475119997456">"OEM būdinga informacija / nustatymai"</string>
-    <string name="radio_info_endc_available" msgid="4410653375290113436">"EN-DC (pasiekiama):"</string>
-    <string name="radio_info_dcnr_restricted" msgid="2469125498066960807">"DCNR (apribota):"</string>
-    <string name="radio_info_nr_available" msgid="1321318331361249997">"NR (pasiekiama):"</string>
-    <string name="radio_info_nr_state" msgid="1337571996788535356">"NR būsena:"</string>
+    <string name="radio_info_endc_available" msgid="2983767110681230019">"Pasiekiama EN-DC (NSA):"</string>
+    <string name="radio_info_dcnr_restricted" msgid="7147511536420148173">"DCNR apribota (NSA):"</string>
+    <string name="radio_info_nr_available" msgid="3383388088451237182">"Pasiekiama NR (NSA):"</string>
+    <string name="radio_info_nr_state" msgid="4158805093187555149">"NR būsena (NSA):"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR dažnis:"</string>
     <string name="band_mode_title" msgid="7988822920724576842">"Nustatyti radijo dažnių režimą"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"Įkeliamas dažnių sąrašas…"</string>
diff --git a/res/values-lv/strings.xml b/res/values-lv/strings.xml
index 5fe13bb..d012da9 100644
--- a/res/values-lv/strings.xml
+++ b/res/values-lv/strings.xml
@@ -637,16 +637,8 @@
     <string name="phone_in_ecm_notification_title" msgid="6825016389926367946">"Ārkārtas atzvana režīms"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="653972232922670335">"Datu savienojums ir atspējots."</string>
     <string name="phone_in_ecm_notification_complete_time" msgid="7341624337163082759">"Datu savienojums nebūs pieejams līdz plkst. <xliff:g id="COMPLETETIME">%s</xliff:g>"</string>
-    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="5425906903766466743">
-      <item quantity="zero">Tālrunī <xliff:g id="COUNT_1">%s</xliff:g> minūtes būs aktivizēts ārkārtas atzvana režīms. Šajā režīmā nevar izmantot lietotnes, kurās tiek lietots datu savienojums. Vai vēlaties to aizvērt tūlīt?</item>
-      <item quantity="one">Tālrunī <xliff:g id="COUNT_1">%s</xliff:g> minūti būs aktivizēts ārkārtas atzvana režīms. Šajā režīmā nevar izmantot lietotnes, kurās tiek lietots datu savienojums. Vai vēlaties to aizvērt tūlīt?</item>
-      <item quantity="other">Tālrunī <xliff:g id="COUNT_1">%s</xliff:g> minūtes būs aktivizēts ārkārtas atzvana režīms. Šajā režīmā nevar izmantot lietotnes, kurās tiek lietots datu savienojums. Vai vēlaties to aizvērt tūlīt?</item>
-    </plurals>
-    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="1152682528741457004">
-      <item quantity="zero">Atlasītā darbība nav pieejama ārkārtas atzvana režīmā. Šis režīms tālrunī būs aktivizēts <xliff:g id="COUNT_1">%s</xliff:g> minūtes. Vai vēlaties to aizvērt tūlīt?</item>
-      <item quantity="one">Atlasītā darbība nav pieejama ārkārtas atzvana režīmā. Šis režīms tālrunī būs aktivizēts <xliff:g id="COUNT_1">%s</xliff:g> minūti. Vai vēlaties to aizvērt tūlīt?</item>
-      <item quantity="other">Atlasītā darbība nav pieejama ārkārtas atzvana režīmā. Šis režīms tālrunī būs aktivizēts <xliff:g id="COUNT_1">%s</xliff:g> minūtes. Vai vēlaties to aizvērt tūlīt?</item>
-    </plurals>
+    <!-- format error in translation for alert_dialog_exit_ecm (7661603870224398025) -->
+    <!-- format error in translation for alert_dialog_not_avaialble_in_ecm (8717711120099503279) -->
     <string name="alert_dialog_in_ecm_call" msgid="1207545603149771978">"Atlasītā darbība nav pieejama, veicot ārkārtas izsaukumu."</string>
     <string name="progress_dialog_exiting_ecm" msgid="9159080081676927217">"Notiek iziešana no ārkārtas atzvana režīma"</string>
     <string name="alert_dialog_yes" msgid="3532525979632841417">"Jā"</string>
@@ -654,11 +646,7 @@
     <string name="alert_dialog_dismiss" msgid="1336356286354517054">"Noraidīt"</string>
     <string name="phone_in_ecm_call_notification_text_without_data_restriction_hint" msgid="3747860785153531225">"Tālrunis atrodas ārkārtas atzvana režīmā."</string>
     <string name="phone_in_ecm_notification_complete_time_without_data_restriction_hint" msgid="3690292264812050858">"Līdz plkst. <xliff:g id="COMPLETETIME">%s</xliff:g>"</string>
-    <plurals name="alert_dialog_exit_ecm_without_data_restriction_hint" formatted="false" msgid="6477733043040328640">
-      <item quantity="zero">Tālrunis atradīsies ārkārtas atzvana režīmā <xliff:g id="COUNT_1">%s</xliff:g> minūtes.\nVai vēlaties iziet tūlīt?</item>
-      <item quantity="one">Tālrunis atradīsies ārkārtas atzvana režīmā <xliff:g id="COUNT_1">%s</xliff:g> minūti.\nVai vēlaties iziet tūlīt?</item>
-      <item quantity="other">Tālrunis atradīsies ārkārtas atzvana režīmā <xliff:g id="COUNT_1">%s</xliff:g> minūtes.\nVai vēlaties iziet tūlīt?</item>
-    </plurals>
+    <!-- format error in translation for alert_dialog_exit_ecm_without_data_restriction_hint (7549850847524907932) -->
     <string name="voicemail_provider" msgid="4158806657253745294">"Pakalpojums"</string>
     <string name="voicemail_settings" msgid="4451045613238972776">"Iestatīšana"</string>
     <string name="voicemail_number_not_set" msgid="8831561283386938155">"&lt;Nav iestatīts&gt;"</string>
@@ -686,7 +674,6 @@
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"Pieejamība"</string>
     <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"Wi-Fi zvans no:"</string>
     <string name="status_hint_label_wifi_call" msgid="942993035689809853">"Wi-Fi zvans"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"Pieskarieties vēlreiz, lai atvērtu."</string>
     <string name="message_decode_error" msgid="1061856591500290887">"Atšifrējot ziņojumu, radās kļūda."</string>
     <string name="callFailed_cdma_activation" msgid="5392057031552253550">"SIM kartē ir aktivizēts jūsu pakalpojums un atjauninātas tālruņa viesabonēšanas iespējas."</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"Ir pārāk daudz aktīvu zvanu. Pirms jauna zvana veikšanas pabeidziet vai apvienojiet esošos zvanus."</string>
@@ -830,7 +817,7 @@
     <string name="callFailed_already_dialing" msgid="7250591188960691086">"Nevar veikt zvanu, jo jau tiek sastādīts numurs citam izejošajam zvanam."</string>
     <string name="callFailed_already_ringing" msgid="2376603543544289303">"Nevar veikt zvanu, jo ir neatbildēts ienākošais zvans. Pirms jauna zvana veikšanas atbildiet uz ienākošo zvanu vai noraidiet to."</string>
     <string name="callFailed_calling_disabled" msgid="5010992739401206283">"Nevar veikt zvanu, jo zvanīšana ir atspējota, izmantojot sistēmas rekvizītu ro.telephony.disable-call."</string>
-    <string name="callFailed_too_many_calls" msgid="5379426826618582180">"Nevar veikt zvanu, jo pašlaik jau notiek divi zvani. Pirms jauna zvana veikšanas pārtrauciet vienu no pašreizējiem zvaniem vai apvienojiet tos konferences zvanā."</string>
+    <string name="callFailed_too_many_calls" msgid="2761754044990799580">"Nevar veikt zvanu, jo pašlaik jau notiek divi zvani. Pirms jauna zvana veikšanas pārtrauciet vienu no pašreizējiem zvaniem vai apvienojiet tos konferences zvanā."</string>
     <string name="supp_service_over_ut_precautions" msgid="2145018231396701311">"Lai izmantotu pakalpojumu <xliff:g id="SUPP_SERVICE">%s</xliff:g>, jāieslēdz mobilie dati. Tos var ieslēgt mobilā tīkla iestatījumos."</string>
     <string name="supp_service_over_ut_precautions_roaming" msgid="670342104569972327">"Lai izmantotu pakalpojumu <xliff:g id="SUPP_SERVICE">%s</xliff:g>, jāieslēdz mobilie dati un datu viesabonēšana. Tos var ieslēgt mobilā tīkla iestatījumos."</string>
     <string name="supp_service_over_ut_precautions_dual_sim" msgid="5166866975550910474">"Lai izmantotu pakalpojumu <xliff:g id="SUPP_SERVICE">%1$s</xliff:g>, jāieslēdz mobilie dati SIM kartei <xliff:g id="SIM_NUMBER">%2$d</xliff:g>. Tos var ieslēgt mobilā tīkla iestatījumos."</string>
@@ -848,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"Lai mainītu šo iestatījumu, jums jārestartē ierīce."</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"Restartēt"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"Atcelt"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"Iestatīt noņemamu eSIM kā noklusējumu"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"Mobilā tālruņa radio signāla stiprums"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"Skatīt SIM adrešu grāmatu"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"Skatīt ierobežotā zvanu saraksta numurus"</string>
@@ -902,6 +890,7 @@
     <string name="radio_info_band_mode_label" msgid="23480556225515290">"Atlasīt radio frekvenču joslu"</string>
     <string name="radio_info_voice_network_type_label" msgid="2395347336419593265">"Balss pakalpojumu tīkla veids:"</string>
     <string name="radio_info_data_network_type_label" msgid="8886597029237501929">"Datu tīkla veids:"</string>
+    <string name="radio_info_override_network_type_label" msgid="4176280017221092005">"Tīkla veida ignorēšana:"</string>
     <string name="phone_index_label" msgid="6222406512768964268">"Atlasīt tālruņa kodu"</string>
     <string name="radio_info_set_perferred_label" msgid="7408131389363136210">"Iestatiet ieteicamo tīkla veidu:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="6951237885381284790">"Ehotestēšanas saimniekdatora nosaukuma (www.google.com) IPv4:"</string>
@@ -913,10 +902,10 @@
     <string name="radio_info_smsc_refresh_label" msgid="8409923721451604560">"Atsvaidzināt"</string>
     <string name="radio_info_toggle_dns_check_label" msgid="1394078554927787350">"Pārslēgt DNS pārbaudi"</string>
     <string name="oem_radio_info_label" msgid="2914167475119997456">"OEM raksturīga informācija/iestatījumi"</string>
-    <string name="radio_info_endc_available" msgid="4410653375290113436">"EN-DC pieejamība:"</string>
-    <string name="radio_info_dcnr_restricted" msgid="2469125498066960807">"DCNR ierobežojums:"</string>
-    <string name="radio_info_nr_available" msgid="1321318331361249997">"NR pieejamība:"</string>
-    <string name="radio_info_nr_state" msgid="1337571996788535356">"NR statuss:"</string>
+    <string name="radio_info_endc_available" msgid="2983767110681230019">"EN-DC pieejamība (NSA):"</string>
+    <string name="radio_info_dcnr_restricted" msgid="7147511536420148173">"DCNR ierobežojums (NSA):"</string>
+    <string name="radio_info_nr_available" msgid="3383388088451237182">"NR pieejamība (NSA):"</string>
+    <string name="radio_info_nr_state" msgid="4158805093187555149">"NR stāvoklis (NSA):"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR biežums:"</string>
     <string name="band_mode_title" msgid="7988822920724576842">"Radio frekvenču joslu režīma iestatīšana"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"Notiek joslu saraksta ielāde…"</string>
diff --git a/res/values-mk/strings.xml b/res/values-mk/strings.xml
index b8f98df..b954ee2 100644
--- a/res/values-mk/strings.xml
+++ b/res/values-mk/strings.xml
@@ -637,14 +637,8 @@
     <string name="phone_in_ecm_notification_title" msgid="6825016389926367946">"Режим на повратни повици во итни случаи"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="653972232922670335">"Врската со податоците е оневозможена"</string>
     <string name="phone_in_ecm_notification_complete_time" msgid="7341624337163082759">"Нема интернет-врска до <xliff:g id="COMPLETETIME">%s</xliff:g>"</string>
-    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="5425906903766466743">
-      <item quantity="one">Телефонот ќе биде во режим на итен повик <xliff:g id="COUNT_1">%s</xliff:g> минута. Кога е во овој режим, не може да се користат апликации што користат врска со податоци. Дали сакате да излезете сега?</item>
-      <item quantity="other">Телефонот ќе биде во режим на итен повик <xliff:g id="COUNT_1">%s</xliff:g> минути. Кога е во овој режим, не може да се користат апликации што користат врска со податоци. Дали сакате да излезете сега?</item>
-    </plurals>
-    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="1152682528741457004">
-      <item quantity="one">Избраното дејство не е достапно во режим на итен повик. Телефонот ќе биде во режим на итен повик <xliff:g id="COUNT_1">%s</xliff:g> минута. Дали сакате да излезете сега?</item>
-      <item quantity="other">Избраното дејство не е достапно во режим на итен повик. Телефонот ќе биде во режим на итен повик <xliff:g id="COUNT_1">%s</xliff:g> минути. Дали сакате да излезете сега?</item>
-    </plurals>
+    <!-- format error in translation for alert_dialog_exit_ecm (7661603870224398025) -->
+    <!-- format error in translation for alert_dialog_not_avaialble_in_ecm (8717711120099503279) -->
     <string name="alert_dialog_in_ecm_call" msgid="1207545603149771978">"Избраното дејство не е достапно при повик во итен случај."</string>
     <string name="progress_dialog_exiting_ecm" msgid="9159080081676927217">"Излегување од режим на повратен повик во итни случаи"</string>
     <string name="alert_dialog_yes" msgid="3532525979632841417">"Да"</string>
@@ -652,10 +646,7 @@
     <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">
-      <item quantity="one">Телефонот ќе биде во режим на итни повратни повици <xliff:g id="COUNT_1">%s</xliff:g> минута.\n Дали сакате да излезете сега?</item>
-      <item quantity="other">Телефонот ќе биде во режим на итни повратни повици <xliff:g id="COUNT_1">%s</xliff:g> минути.\n Дали сакате да излезете сега?</item>
-    </plurals>
+    <!-- format error in translation for alert_dialog_exit_ecm_without_data_restriction_hint (7549850847524907932) -->
     <string name="voicemail_provider" msgid="4158806657253745294">"Услуга"</string>
     <string name="voicemail_settings" msgid="4451045613238972776">"Поставување"</string>
     <string name="voicemail_number_not_set" msgid="8831561283386938155">"&lt;Не е поставен&gt;"</string>
@@ -683,7 +674,6 @@
     <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="callFailed_cdma_activation" msgid="5392057031552253550">"Вашата SIM-картичка ја активираше услугата и ги ажурираше способностите за роаминг на вашиот телефон."</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"Има премногу активни повици. Завршете или спојте ги постоечките повици пред да започнете нов."</string>
@@ -827,7 +817,7 @@
     <string name="callFailed_already_dialing" msgid="7250591188960691086">"Не може да се воспостави повик затоа што веќе се бира друг појдовен повик."</string>
     <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="callFailed_too_many_calls" msgid="2761754044990799580">"Не може да се воспостави повик затоа што веќе се во тек два повика. Исклучете го едниот од повиците или спојте ги во конференциски повик пред да воспоставите нов повик."</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>, уверете се дека мобилниот интернет е вклучен за SIM <xliff:g id="SIM_NUMBER">%2$d</xliff:g>. Тоа може да го промените во поставките за мобилна мрежа."</string>
@@ -845,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"Треба да го рестартирате уредот за да ја промените поставкава."</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"Рестартирај"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"Откажи"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"Поставување eSIM што може да се отстрани како стандардна"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"Радио-напојување на мобилен"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"Прикажи именик на SIM-картичката"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"Прикажи броеви со ограничено бирање"</string>
@@ -899,6 +890,7 @@
     <string name="radio_info_band_mode_label" msgid="23480556225515290">"Избери појас на радио"</string>
     <string name="radio_info_voice_network_type_label" msgid="2395347336419593265">"Тип гласовна мрежа:"</string>
     <string name="radio_info_data_network_type_label" msgid="8886597029237501929">"Тип мрежа на податоци:"</string>
+    <string name="radio_info_override_network_type_label" msgid="4176280017221092005">"Тип отфрлање мрежа:"</string>
     <string name="phone_index_label" msgid="6222406512768964268">"Изберете индекс на телефонот"</string>
     <string name="radio_info_set_perferred_label" msgid="7408131389363136210">"Поставете претпочитан тип мрежа:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="6951237885381284790">"Пингај го хостот (www.google.com) IPv4:"</string>
@@ -910,10 +902,10 @@
     <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">"Информации/Поставки карактеристични за ОЕМ"</string>
-    <string name="radio_info_endc_available" msgid="4410653375290113436">"Достапно за EN-DC:"</string>
-    <string name="radio_info_dcnr_restricted" msgid="2469125498066960807">"Ограничено на DCNR:"</string>
-    <string name="radio_info_nr_available" msgid="1321318331361249997">"Достапно за NR:"</string>
-    <string name="radio_info_nr_state" msgid="1337571996788535356">"Состојба на NR:"</string>
+    <string name="radio_info_endc_available" msgid="2983767110681230019">"Достапно за EN-DC (NSA):"</string>
+    <string name="radio_info_dcnr_restricted" msgid="7147511536420148173">"Ограничено на DCNR (NSA):"</string>
+    <string name="radio_info_nr_available" msgid="3383388088451237182">"Достапно за NR (NSA):"</string>
+    <string name="radio_info_nr_state" msgid="4158805093187555149">"Состојба на NR (NSA):"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"Фреквенција на NR:"</string>
     <string name="band_mode_title" msgid="7988822920724576842">"Поставете режим на појас на радио"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"Се вчитува список на појаси…"</string>
diff --git a/res/values-ml/strings.xml b/res/values-ml/strings.xml
index b5ba43e..3bac1fc 100644
--- a/res/values-ml/strings.xml
+++ b/res/values-ml/strings.xml
@@ -637,14 +637,8 @@
     <string name="phone_in_ecm_notification_title" msgid="6825016389926367946">"അടിയന്തര കോൾബാക്ക് മോഡ്"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="653972232922670335">"ഡാറ്റ കണക്ഷൻ പ്രവർത്തനരഹിതമാക്കി"</string>
     <string name="phone_in_ecm_notification_complete_time" msgid="7341624337163082759">"<xliff:g id="COMPLETETIME">%s</xliff:g> വരെ ഡാറ്റാ കണക്ഷൻ ലഭ്യമല്ല"</string>
-    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="5425906903766466743">
-      <item quantity="other"><xliff:g id="COUNT_1">%s</xliff:g> മിനിറ്റിനുള്ളിൽ ഫോൺ അടിയന്തര കോൾബാക്ക് മോഡിലാകും. ഈ മോഡിലാകുമ്പോൾ ഡാറ്റ കണക്ഷൻ ഉപയോഗിക്കുന്ന അപ്ലിക്കേഷനുകളൊന്നും ഉപയോഗിക്കാനാവില്ല. നിങ്ങൾക്കിപ്പോൾ പുറത്തുപോകണോ?</item>
-      <item quantity="one"><xliff:g id="COUNT_0">%s</xliff:g> മിനിറ്റിനുള്ളിൽ ഫോൺ അടിയന്തര കോൾബാക്ക് മോഡിലാകും. ഈ മോഡിലാകുമ്പോൾ ഡാറ്റ കണക്ഷൻ ഉപയോഗിക്കുന്ന അപ്ലിക്കേഷനുകളൊന്നും ഉപയോഗിക്കാനാവില്ല. നിങ്ങൾക്കിപ്പോൾ പുറത്തുപോകണോ?</item>
-    </plurals>
-    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="1152682528741457004">
-      <item quantity="other">അടിയന്തര കോൾബാക്ക് മോഡിലായിരിക്കുമ്പോൾ തിരഞ്ഞെടുത്ത പ്രവർത്തനമൊന്നും ലഭ്യമാകില്ല. <xliff:g id="COUNT_1">%s</xliff:g> മിനിറ്റിനുള്ളിൽ ഫോൺ ഈ മോഡിലാകും. നിങ്ങൾക്കിപ്പോൾ പുറത്തുപോകണോ?</item>
-      <item quantity="one">അടിയന്തര കോൾബാക്ക് മോഡിലായിരിക്കുമ്പോൾ തിരഞ്ഞെടുത്ത പ്രവർത്തനമൊന്നും ലഭ്യമാകില്ല. <xliff:g id="COUNT_0">%s</xliff:g> മിനിറ്റിനുള്ളിൽ ഫോൺ ഈ മോഡിലാകും. നിങ്ങൾക്കിപ്പോൾ പുറത്തുപോകണോ?</item>
-    </plurals>
+    <string name="alert_dialog_exit_ecm" msgid="7661603870224398025">"{count,plural, =1{ഫോൺ ഒരു മിനിറ്റ്, അടിയന്തര കോൾ ബാക്ക് മോഡിൽ ആയിരിക്കും. ഈ മോഡിൽ ആയിരിക്കുമ്പോൾ ഡാറ്റാ കണക്ഷൻ ഉപയോഗിക്കുന്ന ആപ്പുകളൊന്നും ഉപയോഗിക്കാനാകില്ല. ഇപ്പോൾ പുറത്തുകടക്കണോ?}other{ഫോൺ %s മിനിറ്റ്, അടിയന്തര കോൾ ബാക്ക് മോഡിൽ ആയിരിക്കും. ഈ മോഡിൽ ആയിരിക്കുമ്പോൾ ഡാറ്റാ കണക്ഷൻ ഉപയോഗിക്കുന്ന ആപ്പുകളൊന്നും ഉപയോഗിക്കാനാകില്ല. ഇപ്പോൾ പുറത്തുകടക്കണോ?}}"</string>
+    <string name="alert_dialog_not_avaialble_in_ecm" msgid="8717711120099503279">"{count,plural, =1{അടിയന്തര കോൾ ബാക്ക് മോഡിൽ ആയിരിക്കുമ്പോൾ, തിരഞ്ഞെടുത്ത പ്രവർത്തനം ലഭ്യമല്ല. ഫോൺ ഒരു മിനിറ്റ് ഈ മോഡിൽ ആയിരിക്കും. ഇപ്പോൾ പുറത്തുകടക്കണോ?}other{അടിയന്തര കോൾ ബാക്ക് മോഡിൽ ആയിരിക്കുമ്പോൾ, തിരഞ്ഞെടുത്ത പ്രവർത്തനം ലഭ്യമല്ല. ഫോൺ %s മിനിറ്റ് ഈ മോഡിൽ ആയിരിക്കും. ഇപ്പോൾ പുറത്തുകടക്കണോ?}}"</string>
     <string name="alert_dialog_in_ecm_call" msgid="1207545603149771978">"അടിയന്തര കോളിലായിരിക്കുമ്പോൾ തിരഞ്ഞെടുത്ത പ്രവർത്തനം ലഭ്യമാകില്ല."</string>
     <string name="progress_dialog_exiting_ecm" msgid="9159080081676927217">"നിലവിലെ അടിയന്തര കോൾബാക്ക് മോഡ്"</string>
     <string name="alert_dialog_yes" msgid="3532525979632841417">"വേണം"</string>
@@ -652,10 +646,7 @@
     <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">
-      <item quantity="other">ഫോൺ <xliff:g id="COUNT_1">%s</xliff:g> മിനിറ്റ്, അടിയന്തര കോൾബാക്ക് മോഡിലായിരിക്കും.\nനിങ്ങൾക്ക് ഇപ്പോൾ പുറത്ത് കടക്കണോ?</item>
-      <item quantity="one">ഫോൺ <xliff:g id="COUNT_0">%s</xliff:g> മിനിറ്റ്, അടിയന്തര കോൾബാക്ക് മോഡിലായിരിക്കും.\nനിങ്ങൾക്ക് ഇപ്പോൾ പുറത്ത് കടക്കണോ?</item>
-    </plurals>
+    <string name="alert_dialog_exit_ecm_without_data_restriction_hint" msgid="7549850847524907932">"{count,plural, =1{ഫോൺ ഒരു മിനിറ്റ്, അടിയന്തര കോൾബാക്ക് മോഡിലായിരിക്കും.\nഇപ്പോൾ പുറത്തുകടക്കണോ?}other{ഫോൺ %s മിനിറ്റ്, അടിയന്തര കോൾബാക്ക് മോഡിലായിരിക്കും.\nഇപ്പോൾ പുറത്തുകടക്കണോ?}}"</string>
     <string name="voicemail_provider" msgid="4158806657253745294">"സേവനം"</string>
     <string name="voicemail_settings" msgid="4451045613238972776">"സജ്ജമാക്കുക"</string>
     <string name="voicemail_number_not_set" msgid="8831561283386938155">"&lt;സജ്ജീകരിച്ചിട്ടില്ല&gt;"</string>
@@ -683,7 +674,6 @@
     <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">"വൈഫൈ കോൾ"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"തുറക്കുന്നതിന് വീണ്ടും ടാപ്പുചെയ്യുക"</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>
@@ -827,7 +817,7 @@
     <string name="callFailed_already_dialing" msgid="7250591188960691086">"മറ്റൊരു ഔട്ട്ഗോയിംഗ് കോൾ മുമ്പേ തന്നെ ഡയൽ ചെയ്യുന്നതിനാൽ, ഒരു കോൾ നടത്താനാവില്ല."</string>
     <string name="callFailed_already_ringing" msgid="2376603543544289303">"മറുപടി ലഭിക്കാത്ത ഒരു ഇൻ‌കമിംഗ് കോൾ ഉള്ളതിനാൽ, ഒരു കോൾ നടത്താനാവില്ല. ഒരു പുതിയ കോൾ നടത്തുന്നതിന് മുൻപായി ഇൻകമിംഗ് കോളിന് മറുപടി നൽകുക അല്ലെങ്കിൽ നിരസിക്കുക."</string>
     <string name="callFailed_calling_disabled" msgid="5010992739401206283">"ro.telephony.disable-കോൾ സിസ്‌റ്റം പ്രോപ്പർട്ടി ഉപയോഗിച്ച് കോൾ ചെയ്യൽ പ്രവർത്തനരഹിതമാക്കിയതിനാൽ ഒരു കോൾ നടത്താനാവില്ല."</string>
-    <string name="callFailed_too_many_calls" msgid="5379426826618582180">"മുമ്പേ രണ്ട് കോളുകൾ പുരോഗതിയിൽ ആയതിനാൽ ഒരു പുതിയ കോൾ നടത്താനാവില്ല. ഒരു പുതിയ കോൾ നടത്താനായി, മുമ്പത്തെ കോളുകളിലൊന്ന് വിച്‌ഛേദിക്കുകയോ അല്ലെങ്കിൽ അവയെ ഒരു കോൺഫറൻസ് കോളിലേക്ക് ലയിപ്പിക്കുകയോ ചെയ്യുക."</string>
+    <string name="callFailed_too_many_calls" msgid="2761754044990799580">"മുമ്പേ തന്നെ രണ്ട് കോളുകൾ പുരോഗതിയിൽ ആയതിനാൽ പുതിയൊരു കോൾ ചെയ്യാനാകില്ല. പുതിയൊരു കോൾ ചെയ്യുന്നതിന് മുമ്പത്തെ കോളുകളിലൊന്ന് വിച്‌ഛേദിക്കുകയോ അവയെ ഒരു കോൺഫറൻസ് കോളിലേക്ക് ലയിപ്പിക്കുകയോ ചെയ്യുക."</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> ഉപയോഗിക്കാൻ, SIM <xliff:g id="SIM_NUMBER">%2$d</xliff:g> എന്നതിനായി മൊബൈൽ ഡാറ്റ ഓണാണ് എന്ന് ഉറപ്പാക്കുക. നിങ്ങൾക്ക് ഇത് മൊബൈൽ നെറ്റ്‌വർക്ക് ക്രമീകരണത്തിൽ മാറ്റാം."</string>
@@ -845,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"ഈ ക്രമീകരണം മാറ്റാൻ നിങ്ങളുടെ ഉപകരണം റീസ്‌റ്റാർട്ട് ചെയ്യേണ്ടതുണ്ട്."</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"റീസ്റ്റാർട്ട് ചെയ്യുക"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"റദ്ദാക്കുക"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"നീക്കം ചെയ്യാവുന്ന ഇ-സിം ഡിഫോൾട്ടായി സജ്ജീകരിക്കുക"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"മൊബൈൽ റേഡിയോ പവർ"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"സിം വിലാസ പുസ്‌തകം കാണുക"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"സ്ഥിര ഡയലിംഗ് നമ്പറുകൾ കാണുക"</string>
@@ -899,6 +890,7 @@
     <string name="radio_info_band_mode_label" msgid="23480556225515290">"റേഡിയോ ബാൻഡ് തിരഞ്ഞെടുക്കുക"</string>
     <string name="radio_info_voice_network_type_label" msgid="2395347336419593265">"വോയ്സ് നെറ്റ്‌വർക്ക് തരം:"</string>
     <string name="radio_info_data_network_type_label" msgid="8886597029237501929">"ഡാറ്റ നെറ്റ്‌വർക്ക് തരം:"</string>
+    <string name="radio_info_override_network_type_label" msgid="4176280017221092005">"അസാധുവാക്കൽ നെറ്റ്‌വർക്ക് തരം:"</string>
     <string name="phone_index_label" msgid="6222406512768964268">"ഫോൺ സൂചിക തിരഞ്ഞെടുക്കുക"</string>
     <string name="radio_info_set_perferred_label" msgid="7408131389363136210">"തിരഞ്ഞെടുത്ത നെറ്റ്‌വർക്ക് തരം സജ്ജീകരിക്കുക:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="6951237885381284790">"ഹോസ്റ്റുനാമം(www.google.com) IPv4 പിംഗ് ചെയ്യുക:"</string>
@@ -910,10 +902,10 @@
     <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>
-    <string name="radio_info_dcnr_restricted" msgid="2469125498066960807">"DCNR നിയന്ത്രിച്ചിരിക്കുന്നു:"</string>
-    <string name="radio_info_nr_available" msgid="1321318331361249997">"NR ലഭ്യം:"</string>
-    <string name="radio_info_nr_state" msgid="1337571996788535356">"NR നില:"</string>
+    <string name="radio_info_endc_available" msgid="2983767110681230019">"EN-DC ലഭ്യമാണ് (NSA):"</string>
+    <string name="radio_info_dcnr_restricted" msgid="7147511536420148173">"DCNR നിയന്ത്രിച്ചിരിക്കുന്നു (NSA):"</string>
+    <string name="radio_info_nr_available" msgid="3383388088451237182">"NR ലഭ്യമാണ് (NSA):"</string>
+    <string name="radio_info_nr_state" msgid="4158805093187555149">"NR നില (NSA):"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR ഫ്രീക്വൻസി:"</string>
     <string name="band_mode_title" msgid="7988822920724576842">"റേഡിയോ ബാൻഡ് മോഡ് സജ്ജീകരിക്കുക"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"ബാൻഡ് ലിസ്‌റ്റ് ലോഡ് ചെയ്യുന്നു…"</string>
diff --git a/res/values-mn/strings.xml b/res/values-mn/strings.xml
index 48ac8c0..e5e54cc 100644
--- a/res/values-mn/strings.xml
+++ b/res/values-mn/strings.xml
@@ -534,7 +534,7 @@
     <string name="notification_voicemail_no_vm_number" msgid="3423686009815186750">"Дуут шуудангийн дугаар тодорхойгүй"</string>
     <string name="notification_network_selection_title" msgid="255595526707809121">"Үйлчилгээ байхгүй"</string>
     <string name="notification_network_selection_text" msgid="553288408722427659">"Сонгосон <xliff:g id="OPERATOR_NAME">%s</xliff:g> сүлжээг ашиглах боломжгүй"</string>
-    <string name="incall_error_power_off" product="watch" msgid="7191184639454113633">"Дуудлага хийхийн тулд мобайл сүлжээг асаах, нислэгийн горим буюу батерей хэмнэх горимыг идэвхгүй болгоно уу."</string>
+    <string name="incall_error_power_off" product="watch" msgid="7191184639454113633">"Дуудлага хийхийн тулд мобайл сүлжээг асаах, нислэгийн горим буюу батарей хэмнэх горимыг идэвхгүй болгоно уу."</string>
     <string name="incall_error_power_off" product="default" msgid="8131672264311208673">"Дуудлага хийхийн тулд онгоцны горимыг унтраа."</string>
     <string name="incall_error_power_off_wfc" msgid="9125661184694727052">"Дуудлага хийхийн тулд онгоцны горимыг унтраа эсвэл утасгүй интернетэд холбогдоно уу."</string>
     <string name="incall_error_power_off_thermal" product="default" msgid="8695809601655300168"><b>"Утас хэт халуун байна"</b>\n\n"Энэ дуудлагыг гүйцээх боломжгүй. Та утсаа хөрсөн үед дахин оролдоно уу.\n\nТа яаралтай дуудлага хийх боломжтой хэвээр байна."</string>
@@ -637,14 +637,8 @@
     <string name="phone_in_ecm_notification_title" msgid="6825016389926367946">"Ослын Дуудлага хүлээн авах Төлөв"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="653972232922670335">"Дата холболтыг идэвхгүйжүүлсэн"</string>
     <string name="phone_in_ecm_notification_complete_time" msgid="7341624337163082759">"<xliff:g id="COMPLETETIME">%s</xliff:g> болтол дата холболт байхгүй"</string>
-    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="5425906903766466743">
-      <item quantity="other">Таны гар утас яаралтай түргэн тусламжийн дуудлагын хэлбэрт<xliff:g id="COUNT_1">%s</xliff:g> минут байна. Энэ горимд байгаа тохиолдолд интернет холболт ашигладаг ямар ч программыг ашиглаж үл болно. Та гарахыг хүсэж байна уу?</item>
-      <item quantity="one">Таны гар утас яаралтай түргэн тусламжийн дуудлагын хэлбэрт <xliff:g id="COUNT_0">%s</xliff:g> минут байна. Энэ горимд байгаа тохиолдолд интернет холболт ашигладаг ямар ч программыг ашиглаж үл болно. Та гарахыг хүсэж байна уу?</item>
-    </plurals>
-    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="1152682528741457004">
-      <item quantity="other">Сонгосон үйлдлийг яаралтай түргэн тусламжийн горимд байгаа үед ашиглах боломжгүй. Таны гар утас энэ горимд <xliff:g id="COUNT_1">%s</xliff:g> минут байх болно. Та гарахыг хүсэж байна уу?</item>
-      <item quantity="one">Сонгосон үйлдлийг яаралтай түргэн тусламжийн горимд байгаа үед ашиглах боломжгүй. Таны гар утас энэ горимд <xliff:g id="COUNT_0">%s</xliff:g> минут байх болно. Та гарахыг хүсэж байна уу?</item>
-    </plurals>
+    <string name="alert_dialog_exit_ecm" msgid="7661603870224398025">"{count,plural, =1{Утас яаралтай тусламжийн дуудлага хүлээн авах горимд нэг минут байх болно. Энэ горимд байх үед дата холболтыг ашигладаг ямар ч аппыг ашиглах боломжгүй. Та энэ горимоос одоо гарах уу?}other{Утас яаралтай тусламжийн дуудлага хүлээн авах горимд %s минут байх болно. Энэ горимд байх үед дата холболтыг ашигладаг ямар ч аппыг ашиглах боломжгүй. Та энэ горимоос одоо гарах уу?}}"</string>
+    <string name="alert_dialog_not_avaialble_in_ecm" msgid="8717711120099503279">"{count,plural, =1{Сонгосон үйлдлийг яаралтай тусламжийн дуудлага хүлээн авах горимд гүйцэтгэх боломжгүй. Утас энэ горимд нэг минут байх болно. Та энэ горимоос одоо гарах уу?}other{Сонгосон үйлдлийг яаралтай тусламжийн дуудлага хүлээн авах горимд гүйцэтгэх боломжгүй. Утас энэ горимд %s минут байх болно. Та энэ горимоос одоо гарах уу?}}"</string>
     <string name="alert_dialog_in_ecm_call" msgid="1207545603149771978">"Сонгосон үйлдлийг ослын дуудлагын үед гүйцэтгэх боломжгүй."</string>
     <string name="progress_dialog_exiting_ecm" msgid="9159080081676927217">"Ослын Дуудлага хүлээн авах төлвөөс гарч байна"</string>
     <string name="alert_dialog_yes" msgid="3532525979632841417">"Тийм"</string>
@@ -652,10 +646,7 @@
     <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">
-      <item quantity="other">Утас <xliff:g id="COUNT_1">%s</xliff:g> минутын турш яаралтай буцаж холбоо барих горимд байх болно.\nТа одоо гарахыг хүсэж байна уу?</item>
-      <item quantity="one">Утас <xliff:g id="COUNT_0">%s</xliff:g> минутын турш яаралтай буцаж холбоо барих горимд байх болно.\nТа одоо гарахыг хүсэж байна уу?</item>
-    </plurals>
+    <string name="alert_dialog_exit_ecm_without_data_restriction_hint" msgid="7549850847524907932">"{count,plural, =1{Утас нэг минутын турш яаралтай тусламжийн дуудлага хүлээн авах горимд байх болно.\nТа энэ горимоос одоо гарах уу?}other{Утас %s минутын турш яаралтай тусламжийн дуудлага хүлээн авах горимд байх болно.\nТа энэ горимоос одоо гарах уу?}}"</string>
     <string name="voicemail_provider" msgid="4158806657253745294">"Үйлчилгээ"</string>
     <string name="voicemail_settings" msgid="4451045613238972776">"Тохиргоо"</string>
     <string name="voicemail_number_not_set" msgid="8831561283386938155">"&lt;Тохируулаагүй&gt;"</string>
@@ -683,7 +674,6 @@
     <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="callFailed_cdma_activation" msgid="5392057031552253550">"SIM карт таны үйлчилгээг идэвхжүүлж, утасны роаминг багтаамжийг шинэчиллээ."</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"Хэт олон идэвхтэй дуудлага байна. Шинэ дуудлага хийхийн өмнө одоогийн дуудлагуудыг таслах буюу нэгтгэнэ үү."</string>
@@ -827,7 +817,7 @@
     <string name="callFailed_already_dialing" msgid="7250591188960691086">"Өөр залгасан дугаар руу аль хэдийн залгаж байх үед дуудлага хийх боломжгүй."</string>
     <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="callFailed_too_many_calls" msgid="2761754044990799580">"Аль хэдийн хоёр дуудлага хийж байгаа тул дуудлага хийх боломжгүй байна. Шинэ дуудлага хийхийн өмнө аль нэг дуудлагыг салгах эсвэл тэдгээрийг хурал болгож нэгтгэнэ үү."</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>-г ашиглахын тулд SIM <xliff:g id="SIM_NUMBER">%2$d</xliff:g>-д мобайл датаг асаасан эсэхээ шалгана уу. Та үүнийг мобайл сүлжээний тохиргоонд өөрчлөх боломжтой."</string>
@@ -845,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"Та энэ тохиргоог өөрчлөхийн тулд төхөөрөмжөө дахин эхлүүлэх шаардлагатай."</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"Дахин эхлүүлэх"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"Цуцлах"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"Салгах боломжтой eSIM-г өгөгдмөлөөр тохируулах"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"Мобайл радио цахилгаан"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"SIM хаягийн лавлахыг харах"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"Залгахаар тохируулсан дугаарыг харах"</string>
@@ -899,6 +890,7 @@
     <string name="radio_info_band_mode_label" msgid="23480556225515290">"Радио мессежийг сонгох"</string>
     <string name="radio_info_voice_network_type_label" msgid="2395347336419593265">"Дуут сүлжээний төрөл:"</string>
     <string name="radio_info_data_network_type_label" msgid="8886597029237501929">"Дата сүлжээний төрөл:"</string>
+    <string name="radio_info_override_network_type_label" msgid="4176280017221092005">"Сүлжээний төрлийг дарах:"</string>
     <string name="phone_index_label" msgid="6222406512768964268">"Утасны индекс сонгох"</string>
     <string name="radio_info_set_perferred_label" msgid="7408131389363136210">"Сонгосон сүлжээний төрлийг тохируулна уу:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="6951237885381284790">"Пинг хостны нэр(www.google.com) IPv4:"</string>
@@ -910,10 +902,10 @@
     <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>
-    <string name="radio_info_dcnr_restricted" msgid="2469125498066960807">"DCNR хязгаарласан:"</string>
-    <string name="radio_info_nr_available" msgid="1321318331361249997">"NR боломжтой:"</string>
-    <string name="radio_info_nr_state" msgid="1337571996788535356">"NR төлөв:"</string>
+    <string name="radio_info_endc_available" msgid="2983767110681230019">"EN-DC боломжтой (NSA):"</string>
+    <string name="radio_info_dcnr_restricted" msgid="7147511536420148173">"DCNR хязгаарласан (NSA):"</string>
+    <string name="radio_info_nr_available" msgid="3383388088451237182">"NR боломжтой (NSA):"</string>
+    <string name="radio_info_nr_state" msgid="4158805093187555149">"NR төлөв (NSA):"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR давтамж:"</string>
     <string name="band_mode_title" msgid="7988822920724576842">"Радио мессежийн горимыг тохируулах"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"Мессежийн жагсаалтыг ачаалж байна…"</string>
diff --git a/res/values-mr/strings.xml b/res/values-mr/strings.xml
index 8a841d1..a5050d2 100644
--- a/res/values-mr/strings.xml
+++ b/res/values-mr/strings.xml
@@ -545,7 +545,7 @@
     <string name="incall_error_no_phone_number_supplied" msgid="8680831089508851894">"कॉल करण्यासाठी, एक वैध नंबर एंटर करा."</string>
     <string name="incall_error_call_failed" msgid="393508653582682539">"कॉल अयशस्वी झाला."</string>
     <string name="incall_error_cannot_add_call" msgid="5425764862628655443">"या वेळी कॉल जोडू शकत नाही. तुम्ही मेसेज पाठवून संपर्क करण्याचा प्रयत्न करू शकता."</string>
-    <string name="incall_error_supp_service_unknown" msgid="8751177117194592623">"सेवा समर्थित नाही"</string>
+    <string name="incall_error_supp_service_unknown" msgid="8751177117194592623">"सेवेला सपोर्ट नाही"</string>
     <string name="incall_error_supp_service_switch" msgid="5272822448189448479">"कॉल स्विच करू शकत नाही."</string>
     <string name="incall_error_supp_service_resume" msgid="1276861499306817035">"कॉल पुन्‍हा सुरू करू शकत नाही."</string>
     <string name="incall_error_supp_service_separate" msgid="8932660028965274353">"कॉल विभक्त करू शकत नाही."</string>
@@ -637,14 +637,8 @@
     <string name="phone_in_ecm_notification_title" msgid="6825016389926367946">"आणीबाणी कॉलबॅक मोड"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="653972232922670335">"डेटा कनेक्शन अक्षम केले"</string>
     <string name="phone_in_ecm_notification_complete_time" msgid="7341624337163082759">"<xliff:g id="COMPLETETIME">%s</xliff:g> पर्यंत कोणतेही डेटा कनेक्‍शन नाही"</string>
-    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="5425906903766466743">
-      <item quantity="other">फोन <xliff:g id="COUNT_1">%s</xliff:g> मिनिटांसाठी आणीबाणी कॉलबॅक मोडमध्ये राहील. या मोडमध्ये असताना डेटा कनेक्शन वापरणारे कोणतेही अ‍ॅप्लिकेशन वापरले जाऊ शकत नाहीत. तुम्ही आता बाहेर पडू इच्छिता?</item>
-      <item quantity="one">फोन <xliff:g id="COUNT_0">%s</xliff:g> मिनिटासाठी आणीबाणी कॉलबॅक मोडमध्ये राहील. या मोडमध्ये असताना डेटा कनेक्शन वापरणारे कोणतेही अ‍ॅप वापरले जाऊ शकत नाहीत. तुम्ही आता बाहेर पडू इच्छिता?</item>
-    </plurals>
-    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="1152682528741457004">
-      <item quantity="other">आणीबाणी कॉलबॅक मोडमध्ये असताना निवडलेली क्रिया उपलब्ध नसते. फोन <xliff:g id="COUNT_1">%s</xliff:g> मिनिटांसाठी या मोडमध्ये राहील. तुम्ही आता बाहेर पडू इच्छिता?</item>
-      <item quantity="one">आणीबाणी कॉलबॅक मोडमध्ये असताना निवडलेली क्रिया उपलब्ध नसते. फोन <xliff:g id="COUNT_0">%s</xliff:g> मिनिटासाठी या मोडमध्ये राहील. तुम्ही आता बाहेर पडू इच्छिता?</item>
-    </plurals>
+    <string name="alert_dialog_exit_ecm" msgid="7661603870224398025">"{count,plural, =1{फोन एका मिनिटासाठी आणीबाणी कॉलबॅक मोडमध्‍ये राहील. या मोडमध्‍ये असताना डेटा कनेक्‍शन वापरणारी कोणतीही अ‍ॅप्‍स वापरली जाऊ शकत नाहीत. तुम्हाला आता बाहेर पडायचे आहे का?}other{फोन %s मिनिटांसाठी आणीबाणी कॉलबॅक मोडमध्‍ये राहील. या मोडमध्‍ये असताना डेटा कनेक्‍शन वापरणारी कोणतीही अ‍ॅप्‍स वापरली जाऊ शकत नाहीत. तुम्हाला आता बाहेर पडायचे आहे का?}}"</string>
+    <string name="alert_dialog_not_avaialble_in_ecm" msgid="8717711120099503279">"{count,plural, =1{आणीबाणी कॉलबॅक मोडमध्‍ये असताना निवडलेली कृती उपलब्‍ध नाही. फोन एका मिनिटासाठी या मोडमध्‍ये राहील. तुम्हाला आता बाहेर पडायचे आहे का?}other{आणीबाणी कॉलबॅक मोडमध्‍ये असताना निवडलेली कृती उपलब्‍ध नाही. फोन %s मिनिटांसाठी या मोडमध्‍ये राहील. तुम्हाला आता बाहेर पडायचे आहे का?}}"</string>
     <string name="alert_dialog_in_ecm_call" msgid="1207545603149771978">"आणीबाणीच्‍या कॉलमध्‍ये असताना निवडलेली क्रिया उपलब्‍ध नसते."</string>
     <string name="progress_dialog_exiting_ecm" msgid="9159080081676927217">"आणीबाणी कॉलबॅक मोडमधून बाहेर पडत आहे"</string>
     <string name="alert_dialog_yes" msgid="3532525979632841417">"होय"</string>
@@ -652,10 +646,7 @@
     <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">
-      <item quantity="other">फोन <xliff:g id="COUNT_1">%s</xliff:g> मिनिटे आणीबाणी कॉलबॅक मोडमध्ये राहील.\nतुम्हाला आता बाहेर पडायचे आहे का?</item>
-      <item quantity="one">फोन <xliff:g id="COUNT_0">%s</xliff:g> मिनिट आणीबाणी कॉलबॅक मोडमध्ये राहील.\nतुम्हाला आता बाहेर पडायचे आहे का?</item>
-    </plurals>
+    <string name="alert_dialog_exit_ecm_without_data_restriction_hint" msgid="7549850847524907932">"{count,plural, =1{फोन एका मिनिटासाठी आणीबाणी कॉलबॅक मोडमध्ये राहील.\nतुम्हाला आता बाहेर पडायचे आहे का?}other{फोन %s मिनिटांसाठी आणीबाणी कॉलबॅक मोडमध्ये राहील.\nतुम्हाला आता बाहेर पडायचे आहे का?}}"</string>
     <string name="voicemail_provider" msgid="4158806657253745294">"सेवा"</string>
     <string name="voicemail_settings" msgid="4451045613238972776">"सेटअप"</string>
     <string name="voicemail_number_not_set" msgid="8831561283386938155">"&lt;सेट नाही&gt;"</string>
@@ -664,7 +655,7 @@
     <string name="contactPhoto" msgid="7885089213135154834">"संपर्क फोटो"</string>
     <string name="goPrivate" msgid="4645108311382209551">"खाजगी जा"</string>
     <string name="selectContact" msgid="1527612842599767382">"संपर्क निवडा"</string>
-    <string name="not_voice_capable" msgid="2819996734252084253">"व्‍हॉइस कॉलिंंग समर्थित नाही"</string>
+    <string name="not_voice_capable" msgid="2819996734252084253">"व्‍हॉइस कॉलिंंग याला सपोर्ट नाही"</string>
     <string name="description_dial_button" msgid="8614631902795087259">"डायल करा"</string>
     <string name="description_dialpad_button" msgid="7395114120463883623">"डायलपॅड दाखवा"</string>
     <string name="pane_title_emergency_dialpad" msgid="3627372514638694401">"आणीबाणी डायलपॅड"</string>
@@ -683,7 +674,6 @@
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"प्रवेशयोग्यता"</string>
     <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"कडून वाय-फाय कॉल"</string>
     <string name="status_hint_label_wifi_call" msgid="942993035689809853">"वाय-फाय कॉल"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"उघडण्यासाठी पुन्हा टॅप करा"</string>
     <string name="message_decode_error" msgid="1061856591500290887">"मेसेज डीकोड करताना एक एरर आली."</string>
     <string name="callFailed_cdma_activation" msgid="5392057031552253550">"सिम कार्डने तुमची सेवा सक्रिय केली आहे आणि आपल्या फोनच्या रोमिंग क्षमता अपडेट केल्या."</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"बरेच सक्रिय कॉल आहेत. कृपया नवीन एक कॉल करण्यापूर्वी विद्यमान कॉल समाप्त करा किंवा विलीन करा."</string>
@@ -827,7 +817,7 @@
     <string name="callFailed_already_dialing" msgid="7250591188960691086">"दुसरा आउटगोइंग कॉल आधीच डायल होत असल्यामुळे कॉल करू शकत नाही."</string>
     <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="callFailed_too_many_calls" msgid="2761754044990799580">"दोन कॉल आधीच प्रगतीपथावर असल्यामुळे कॉल करू शकत नाही. नवीन कॉल करण्याआधी एक कॉल डिस्कनेक्ट करा किंवा त्यांना कॉंफरन्स कॉलमध्ये मर्ज करा."</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>
@@ -845,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"ही सेटिंग बदलण्यासाठी तुम्ही तुमचे डिव्हाइस रीस्टार्ट करणे आवश्यक आहे."</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"रीस्टार्ट करा"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"रद्द करा"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"काढून टाकण्यायोग्य eSIM डीफॉल्ट म्हणून सेट करा"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"मोबाइल रेडिओ पॉवर"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"सिम ॲड्रेस बुक पहा"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"निश्चित डायलिंग नंबर पहा"</string>
@@ -899,6 +890,7 @@
     <string name="radio_info_band_mode_label" msgid="23480556225515290">"रेडिओ बँड निवडा"</string>
     <string name="radio_info_voice_network_type_label" msgid="2395347336419593265">"व्हॉइस नेटवर्कचा प्रकार:"</string>
     <string name="radio_info_data_network_type_label" msgid="8886597029237501929">"डेटा नेटवर्कचा प्रकार:"</string>
+    <string name="radio_info_override_network_type_label" msgid="4176280017221092005">"नेटवर्क प्रकार ओव्हरराइड करा:"</string>
     <string name="phone_index_label" msgid="6222406512768964268">"फोनची अनुक्रमणिका निवडा"</string>
     <string name="radio_info_set_perferred_label" msgid="7408131389363136210">"प्राधान्य दिलेला नेटवर्कचा प्रकार सेट करा:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="6951237885381284790">"पिंग होस्ट नाव(www.google.com) IPv4:"</string>
@@ -910,10 +902,10 @@
     <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>
-    <string name="radio_info_dcnr_restricted" msgid="2469125498066960807">"DCNR प्रतिबंधित:"</string>
-    <string name="radio_info_nr_available" msgid="1321318331361249997">"NR उपलब्ध:"</string>
-    <string name="radio_info_nr_state" msgid="1337571996788535356">"NR स्थिती:"</string>
+    <string name="radio_info_endc_available" msgid="2983767110681230019">"EN-DC उपलब्ध (NSA):"</string>
+    <string name="radio_info_dcnr_restricted" msgid="7147511536420148173">"DCNR प्रतिबंधित (NSA):"</string>
+    <string name="radio_info_nr_available" msgid="3383388088451237182">"NR उपलब्ध (NSA):"</string>
+    <string name="radio_info_nr_state" msgid="4158805093187555149">"NR स्थिती (NSA):"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR वारंवारता:"</string>
     <string name="band_mode_title" msgid="7988822920724576842">"रेडिओ बँड मोड सेट करा"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"बँड सूची लोड करत आहे…"</string>
diff --git a/res/values-ms/strings.xml b/res/values-ms/strings.xml
index 4ddb2e6..2b81900 100644
--- a/res/values-ms/strings.xml
+++ b/res/values-ms/strings.xml
@@ -637,14 +637,8 @@
     <string name="phone_in_ecm_notification_title" msgid="6825016389926367946">"Mod Paggil Balik Kecemasan"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="653972232922670335">"Sambungan data dilumpuhkan"</string>
     <string name="phone_in_ecm_notification_complete_time" msgid="7341624337163082759">"Tiada sambungan data hingga <xliff:g id="COMPLETETIME">%s</xliff:g>"</string>
-    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="5425906903766466743">
-      <item quantity="other">Telefon akan berada dalam mod Panggilan Balik Kecemasan selama <xliff:g id="COUNT_1">%s</xliff:g> minit. Semasa berada dalam mod ini tiada aplikasi yang menggunakan sambungan data boleh digunakan. Adakah anda mahu keluar sekarang?</item>
-      <item quantity="one">Telefon akan berada dalam mod Panggilan Balik Kecemasan selama <xliff:g id="COUNT_0">%s</xliff:g> seminit. Semasa berada dalam mod ini tiada apl yang menggunakan sambungan data boleh digunakan. Adakah anda mahu keluar sekarang?</item>
-    </plurals>
-    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="1152682528741457004">
-      <item quantity="other">Tindakan yang dipilih tidak tersedia semasa berada dalam mod Panggilan Balik Kecemasan. Telefon akan berada dalam mod ini selama <xliff:g id="COUNT_1">%s</xliff:g> minit. Adakah anda mahu keluar sekarang?</item>
-      <item quantity="one">Tindakan yang dipilih tidak tersedia semasa berada dalam mod Panggilan Balik Kecemasan. Telefon akan berada dalam mod ini selama <xliff:g id="COUNT_0">%s</xliff:g> minit. Adakah anda mahu keluar sekarang?</item>
-    </plurals>
+    <string name="alert_dialog_exit_ecm" msgid="7661603870224398025">"{count,plural, =1{Telefon akan menggunakan mod Panggil Balik Kecemasan selama satu minit. Semasa dalam mod ini, tiada apl yang menggunakan sambungan data boleh digunakan. Adakah anda mahu keluar sekarang?}other{Telefon akan menggunakan mod Panggil Balik Kecemasan selama %s minit. Semasa dalam mod ini, tiada apl yang menggunakan sambungan data boleh digunakan. Adakah anda mahu keluar sekarang?}}"</string>
+    <string name="alert_dialog_not_avaialble_in_ecm" msgid="8717711120099503279">"{count,plural, =1{Tindakan yang dipilih tidak tersedia semasa dalam mod Panggil Balik Kecemasan. Telefon akan menggunakan mod ini selama satu minit. Adakah anda mahu keluar sekarang?}other{Tindakan yang dipilih tidak tersedia semasa dalam mod Panggil Balik Kecemasan. Telefon akan menggunakan mod ini selama %s minit. Adakah anda mahu keluar sekarang?}}"</string>
     <string name="alert_dialog_in_ecm_call" msgid="1207545603149771978">"Tindakan yang dipilih tidak tersedia semasa berada dalam panggilan kecemasan."</string>
     <string name="progress_dialog_exiting_ecm" msgid="9159080081676927217">"Keluar Daripada mod Panggil Balik Kecemasan"</string>
     <string name="alert_dialog_yes" msgid="3532525979632841417">"Ya"</string>
@@ -652,10 +646,7 @@
     <string name="alert_dialog_dismiss" msgid="1336356286354517054">"Ketepikan"</string>
     <string name="phone_in_ecm_call_notification_text_without_data_restriction_hint" msgid="3747860785153531225">"Telefon dalam mod panggil balik kecemasan"</string>
     <string name="phone_in_ecm_notification_complete_time_without_data_restriction_hint" msgid="3690292264812050858">"Hingga <xliff:g id="COMPLETETIME">%s</xliff:g>"</string>
-    <plurals name="alert_dialog_exit_ecm_without_data_restriction_hint" formatted="false" msgid="6477733043040328640">
-      <item quantity="other">Telefon akan berada dalam mod panggil balik kecemasan selama <xliff:g id="COUNT_1">%s</xliff:g> minit.\nAdakah anda mahu keluar sekarang?</item>
-      <item quantity="one">Telefon akan berada dalam mod panggil balik kecemasan selama <xliff:g id="COUNT_0">%s</xliff:g> minit.\nAdakah anda mahu keluar sekarang?</item>
-    </plurals>
+    <string name="alert_dialog_exit_ecm_without_data_restriction_hint" msgid="7549850847524907932">"{count,plural, =1{Telefon akan berada dalam mod panggil balik kecemasan selama satu minit.\nAdakah anda mahu keluar sekarang?}other{Telefon akan berada dalam mod panggil balik kecemasan selama %s minit.\nAdakah anda mahu keluar sekarang?}}"</string>
     <string name="voicemail_provider" msgid="4158806657253745294">"Perkhidmatan"</string>
     <string name="voicemail_settings" msgid="4451045613238972776">"Persediaan"</string>
     <string name="voicemail_number_not_set" msgid="8831561283386938155">"&lt;Tidak ditetapkan&gt;"</string>
@@ -683,7 +674,6 @@
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"Kebolehaksesan"</string>
     <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"Panggilan Wi-Fi daripada"</string>
     <string name="status_hint_label_wifi_call" msgid="942993035689809853">"Panggilan Wi-Fi"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"Ketik lagi untuk membuka"</string>
     <string name="message_decode_error" msgid="1061856591500290887">"Terdapat ralat semasa menyahkodkan mesej."</string>
     <string name="callFailed_cdma_activation" msgid="5392057031552253550">"Kad SIM telah mengaktifkan perkhidmatan anda dan mengemas kini keupayaan perayauan telefon anda."</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"Terlalu banyak panggilan aktif. Sila tamatkan atau gabungkan panggilan yang sedia ada sebelum membuat panggilan baharu."</string>
@@ -827,7 +817,7 @@
     <string name="callFailed_already_dialing" msgid="7250591188960691086">"Tidak dapat membuat panggilan kerana panggilan keluar lain sudah pun mendail."</string>
     <string name="callFailed_already_ringing" msgid="2376603543544289303">"Tidak dapat membuat panggilan kerana terdapat panggilan masuk yang tidak dijawab. Jawab atau tolak panggilan masuk itu sebelum membuat panggilan baharu."</string>
     <string name="callFailed_calling_disabled" msgid="5010992739401206283">"Tidak dapat membuat panggilan kerana panggilan telah dilumpuhkan menggunakan sifat sistem ro.telephony.disable-call."</string>
-    <string name="callFailed_too_many_calls" msgid="5379426826618582180">"Tidak dapat membuat panggilan kerana sudah terdapat dua panggilan yang sedang berlangsung. Putuskan salah satu panggilan itu atau gabungkan panggilan tersebut menjadi panggilan persidangan sebelum membuat panggilan baharu."</string>
+    <string name="callFailed_too_many_calls" msgid="2761754044990799580">"Tidak dapat membuat panggilan kerana sudah terdapat dua panggilan yang sedang berlangsung. Putuskan salah satu panggilan itu atau gabungkan panggilan tersebut menjadi panggilan sidang sebelum membuat panggilan baharu."</string>
     <string name="supp_service_over_ut_precautions" msgid="2145018231396701311">"Untuk menggunakan <xliff:g id="SUPP_SERVICE">%s</xliff:g>, pastikan data mudah alih dihidupkan. Anda boleh menukar tetapan ini dalam tetapan rangkaian mudah alih."</string>
     <string name="supp_service_over_ut_precautions_roaming" msgid="670342104569972327">"Untuk menggunakan <xliff:g id="SUPP_SERVICE">%s</xliff:g>, pastikan data mudah alih dan perayauan data dihidupkan. Anda boleh menukar tetapan ini dalam tetapan rangkaian mudah alih."</string>
     <string name="supp_service_over_ut_precautions_dual_sim" msgid="5166866975550910474">"Untuk menggunakan <xliff:g id="SUPP_SERVICE">%1$s</xliff:g>, pastikan data mudah alih dihidupkan bagi SIM <xliff:g id="SIM_NUMBER">%2$d</xliff:g>. Anda boleh menukar tetapan ini dalam tetapan rangkaian mudah alih."</string>
@@ -845,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"Anda perlu memulakan semula peranti untuk menukar tetapan ini."</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"Mulakan semula"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"Batal"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"Tetapkan eSIM Boleh Tanggal sebagai Lalai"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"Kuasa Radio Mudah Alih"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"Lihat Buku Alamat SIM"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"Lihat Nombor Dailan Tetap"</string>
@@ -899,6 +890,7 @@
     <string name="radio_info_band_mode_label" msgid="23480556225515290">"Pilih Jalur Radio"</string>
     <string name="radio_info_voice_network_type_label" msgid="2395347336419593265">"Jenis Rangkaian Suara:"</string>
     <string name="radio_info_data_network_type_label" msgid="8886597029237501929">"Jenis Rangkaian Data:"</string>
+    <string name="radio_info_override_network_type_label" msgid="4176280017221092005">"Jenis Rangkaian Penggantian:"</string>
     <string name="phone_index_label" msgid="6222406512768964268">"Pilih indeks telefon"</string>
     <string name="radio_info_set_perferred_label" msgid="7408131389363136210">"Tetapkan Jenis Rangkaian Pilihan:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="6951237885381284790">"Ping Nama Hos(www.google.com) IPv4:"</string>
@@ -910,10 +902,10 @@
     <string name="radio_info_smsc_refresh_label" msgid="8409923721451604560">"Muat semula"</string>
     <string name="radio_info_toggle_dns_check_label" msgid="1394078554927787350">"Togol Semakan DNS"</string>
     <string name="oem_radio_info_label" msgid="2914167475119997456">"Maklumat/Tetapan khusus OEM"</string>
-    <string name="radio_info_endc_available" msgid="4410653375290113436">"EN-DC Tersedia:"</string>
-    <string name="radio_info_dcnr_restricted" msgid="2469125498066960807">"DCNR Terhad:"</string>
-    <string name="radio_info_nr_available" msgid="1321318331361249997">"NR Tersedia:"</string>
-    <string name="radio_info_nr_state" msgid="1337571996788535356">"Keadaan NR:"</string>
+    <string name="radio_info_endc_available" msgid="2983767110681230019">"EN-DC Tersedia (NSA):"</string>
+    <string name="radio_info_dcnr_restricted" msgid="7147511536420148173">"DCNR Terhad (NSA):"</string>
+    <string name="radio_info_nr_available" msgid="3383388088451237182">"NR Tersedia (NSA):"</string>
+    <string name="radio_info_nr_state" msgid="4158805093187555149">"Keadaan NR (NSA):"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"Frekuensi NR:"</string>
     <string name="band_mode_title" msgid="7988822920724576842">"Tetapkan Mod Jalur Radio"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"Memuatkan Senarai Jalur…"</string>
diff --git a/res/values-my/strings.xml b/res/values-my/strings.xml
index f0d1410..a594626 100644
--- a/res/values-my/strings.xml
+++ b/res/values-my/strings.xml
@@ -637,14 +637,8 @@
     <string name="phone_in_ecm_notification_title" msgid="6825016389926367946">"အရေးပေါ်ပြန်လည်ခေါ်ဆိုမှု"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="653972232922670335">"ဒေတာဆက်သွယ်မှု မရှိပါ"</string>
     <string name="phone_in_ecm_notification_complete_time" msgid="7341624337163082759">"<xliff:g id="COMPLETETIME">%s</xliff:g> အထိ ဒေတာချိတ်ဆက်မှု မရှိပါ"</string>
-    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="5425906903766466743">
-      <item quantity="other"> ဖုန်းသည် <xliff:g id="COUNT_1">%s</xliff:g> မိနစ်လောက် အရေးပေါ် ပြန်ခေါ်ခြင်းမုဒ်တွင် ရှိနေလိမ့်မည်။ ဤမုဒ်တွင် ဒေတာချိတ်ဆက်မှုအသုံးပြုသည့် အက်ပ်များကို အသုံးပြု၍ ရနိုင်မည်မဟုတ်ပါ။ ယခုထွက်လိုပါသလား? </item>
-      <item quantity="one"> ဖုန်းသည် <xliff:g id="COUNT_0">%s</xliff:g> မိနစ်လောက် အရေးပေါ် ပြန်ခေါ်ခြင်းမုဒ်တွင် ရှိနေလိမ့်မည်။ ဤမုဒ်တွင် ဒေတာချိတ်ဆက်မှုအသုံးပြုသည့် အက်ပ်များကို အသုံးပြု၍ ရနိုင်မည်မဟုတ်ပါ။ ယခုထွက်လိုပါသလား?</item>
-    </plurals>
-    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="1152682528741457004">
-      <item quantity="other"> ရွေးချယ်ထားသော အပြုအမူမှာ အရေပေါ်ခေါ်ဆိုမှုပြုလုပ်နေစဉ် မရှိနိုင်ပါ။ ဖုန်းသည်ဤ မုဒ်တွင် <xliff:g id="COUNT_1">%s</xliff:g> မိနစ်ရှိနေမည်ဖြစ်သည်။ ယခုထွက်လိုပါသလား?</item>
-      <item quantity="one"> အရေးပေါ် ပြန်လည်ခေါ်ဆိုခြင်းမုဒ်တွင် ရွေးချယ်သည့် လုပ်ရပ်မလုပ်ဆောင်နိုင်ပါ။ ဖုန်းသည်ဤ မုဒ်တွင် <xliff:g id="COUNT_0">%s</xliff:g> မိနစ်ရှိနေမည်ဖြစ်သည်။ ယခုထွက်လိုပါသလား?</item>
-    </plurals>
+    <string name="alert_dialog_exit_ecm" msgid="7661603870224398025">"{count,plural, =1{ဖုန်းသည် ‘အရေးပေါ် ပြန်လည်ခေါ်ဆိုမုဒ်’ အတွင်း တစ်မိနစ်ကြာ ရှိနေပါမည်။ ဤမုဒ်တွင် ရှိနေစဉ် ဒေတာချိတ်ဆက်မှုသုံးသော အက်ပ်များကို အသုံးပြု၍ မရပါ။ ယခု ထွက်လိုပါသလား။}other{ဖုန်းသည် ‘အရေးပေါ် ပြန်လည်ခေါ်ဆိုမုဒ်’ အတွင်း %s မိနစ်ကြာ ရှိနေပါမည်။ ဤမုဒ်တွင် ရှိနေစဉ် ဒေတာချိတ်ဆက်မှုသုံးသော အပလီကေးရှင်းများကို အသုံးပြု၍ မရပါ။ ယခု ထွက်လိုပါသလား။}}"</string>
+    <string name="alert_dialog_not_avaialble_in_ecm" msgid="8717711120099503279">"{count,plural, =1{‘အရေးပေါ် ပြန်လည်ခေါ်ဆိုမုဒ်’ တွင် ရှိနေပါက ရွေးထားသော လုပ်ဆောင်ချက်ကို မရနိုင်ပါ။ ဖုန်းသည် ဤမုဒ်အတွင်း တစ်မိနစ်ကြာ ရှိနေပါမည်။ ယခု ထွက်လိုပါသလား။}other{‘အရေးပေါ် ပြန်လည်ခေါ်ဆိုမုဒ်’ တွင် ရှိနေပါက ရွေးထားသော လုပ်ဆောင်ချက်ကို မရနိုင်ပါ။ ဖုန်းသည် ဤမုဒ်အတွင်း %s မိနစ်ကြာ ရှိနေပါမည်။ ယခု ထွက်လိုပါသလား။}}"</string>
     <string name="alert_dialog_in_ecm_call" msgid="1207545603149771978">"ရွေးချယ်ထားသော အပြုအမူမှာ အရေပေါ်ခေါ်ဆိုမှုပြုလုပ်နေစဉ် မရှိနိုင်ပါ"</string>
     <string name="progress_dialog_exiting_ecm" msgid="9159080081676927217">"အရေးပေါ်ပြန်လည်ခေါ်ဆိုမှု အခြေအနေအား ထွက်ပါမည်"</string>
     <string name="alert_dialog_yes" msgid="3532525979632841417">"Yes"</string>
@@ -652,10 +646,7 @@
     <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">
-      <item quantity="other">ဤဖုန်းသည် အရေးပေါ် ပြန်ခေါ်ရန်မုဒ်တွင် <xliff:g id="COUNT_1">%s</xliff:g> မိနစ်ကြာ ရှိနေပါမည်။ \nယခု ထွက်လိုပါသလား။</item>
-      <item quantity="one">ဤဖုန်းသည် အရေးပေါ် ပြန်ခေါ်ရန်မုဒ်တွင် <xliff:g id="COUNT_0">%s</xliff:g> မိနစ်ကြာ ရှိနေပါမည်။ \nယခု ထွက်လိုပါသလား။</item>
-    </plurals>
+    <string name="alert_dialog_exit_ecm_without_data_restriction_hint" msgid="7549850847524907932">"{count,plural, =1{ဖုန်းသည် အရေးပေါ် ပြန်လည်ခေါ်ဆိုမုဒ်အတွင်း တစ်မိနစ်ကြာ ရှိနေပါမည်။\nယခု ထွက်လိုပါသလား။}other{ဖုန်းသည် အရေးပေါ် ပြန်လည်ခေါ်ဆိုမုဒ်အတွင်း %s မိနစ်ကြာ ရှိနေပါမည်။\nယခု ထွက်လိုပါသလား။}}"</string>
     <string name="voicemail_provider" msgid="4158806657253745294">"ဝန်ဆောင်မှု"</string>
     <string name="voicemail_settings" msgid="4451045613238972776">"စနစ်သတ်မှတ်ခြင်း"</string>
     <string name="voicemail_number_not_set" msgid="8831561283386938155">"သတ်မှတ်မထားပါ"</string>
@@ -683,7 +674,6 @@
     <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">"ဝိုင်ဖိုင်ခေါ်ဆိုမှု"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"ဖွင့်ရန် ထပ်တို့ပါ"</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>
@@ -827,7 +817,7 @@
     <string name="callFailed_already_dialing" msgid="7250591188960691086">"အထွက်ခေါ်ဆိုမှု ပြုလုပ်ထားသဖြင့် ဖုန်းထပ်ခေါ်၍ မရနိုင်ပါ။"</string>
     <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="callFailed_too_many_calls" msgid="2761754044990799580">"ဖုန်းခေါ်ဆိုမှုနှစ်ခုကို ပြုလုပ်နေသဖြင့် ဖုန်းထပ်ခေါ်၍ မရနိုင်ပါ။ ခေါ်ဆိုမှုအသစ် မပြုလုပ်မီ ၎င်းတို့ထဲမှ တစ်ခုကို ဖုန်းချပါ သို့မဟုတ် အဖွဲ့လိုက် ပြောဆိုခြင်းအဖြစ် ပေါင်းစည်းပါ။"</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>
@@ -845,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"ဤဆက်တင်ကိုပြောင်းရန် သင့်စက်ကို ပြန်စတင်ရပါမည်။"</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"ပြန်စရန်"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"မလုပ်တော့ပါ"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"ဖယ်ရှားနိုင်သော eSIM ကို မူရင်းအဖြစ် သတ်မှတ်ရန်"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"မိုဘိုင်း ရေဒီယိုစွမ်းအား"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"SIM ထဲရှိ လိပ်စာ စာအုပ်ကိုကြည့်ပါ"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"ခေါ်ဆိုရန် ကန့်သတ် နံပါတ်ကို ကြည့်မည်"</string>
@@ -899,6 +890,7 @@
     <string name="radio_info_band_mode_label" msgid="23480556225515290">"ရေဒီယိုလိုင်း ရွေးချယ်ပါ"</string>
     <string name="radio_info_voice_network_type_label" msgid="2395347336419593265">"အသံကွန်ရက် အမျိုးအစား −"</string>
     <string name="radio_info_data_network_type_label" msgid="8886597029237501929">"ဒေတာကွန်ရက် အမျိုးအစား −"</string>
+    <string name="radio_info_override_network_type_label" msgid="4176280017221092005">"အစားထိုး ကွန်ရက်အမျိုးအစား-"</string>
     <string name="phone_index_label" msgid="6222406512768964268">"ဖုန်းအညွှန်း ရွေးရန်"</string>
     <string name="radio_info_set_perferred_label" msgid="7408131389363136210">"ပိုနှစ်သက်သည့် ကွန်ရက်အမျိုးအစားကို သတ်မှတ်ပါ −"</string>
     <string name="radio_info_ping_hostname_v4" msgid="6951237885381284790">"ပင်ကို လက်ခံဝန်ဆောင်ပေးသူအမည်(www.google.com) မှာ IPv4 -"</string>
@@ -910,10 +902,10 @@
     <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">"ထုတ်လုပ်သူနှင့် သက်ဆိုင်သော အချက်အလက်/ဆက်တင်များ"</string>
-    <string name="radio_info_endc_available" msgid="4410653375290113436">"EN-DC အသုံးပြုနိုင်သည် -"</string>
-    <string name="radio_info_dcnr_restricted" msgid="2469125498066960807">"DCNR ကန့်သတ်ထားသည် -"</string>
-    <string name="radio_info_nr_available" msgid="1321318331361249997">"NR အသုံးပြုနိုင်သည် -"</string>
-    <string name="radio_info_nr_state" msgid="1337571996788535356">"NR အခြေအနေ -"</string>
+    <string name="radio_info_endc_available" msgid="2983767110681230019">"EN-DC ရနိုင်သည် (NSA)-"</string>
+    <string name="radio_info_dcnr_restricted" msgid="7147511536420148173">"DCNR ကန့်သတ်ထားသည် (NSA)-"</string>
+    <string name="radio_info_nr_available" msgid="3383388088451237182">"NR ရနိုင်သည် (NSA)-"</string>
+    <string name="radio_info_nr_state" msgid="4158805093187555149">"NR အခြေအနေ (NSA)-"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR ကြိမ်နှုန်း -"</string>
     <string name="band_mode_title" msgid="7988822920724576842">"ရေဒီယိုလိုင်းမုဒ်အဖြစ် သတ်မှတ်ပါ"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"ရေဒီယိုလိုင်းစာရင်းကို ဖွင့်နေသည်…"</string>
diff --git a/res/values-nb/strings.xml b/res/values-nb/strings.xml
index 626459f..aa71422 100644
--- a/res/values-nb/strings.xml
+++ b/res/values-nb/strings.xml
@@ -75,7 +75,7 @@
     <string name="phone_accounts_configure_account_settings" msgid="6622119715253196586">"Konfigurer kontoinnstillingene"</string>
     <string name="phone_accounts_all_calling_accounts" msgid="1609600743500618823">"Alle ringekontoer"</string>
     <string name="phone_accounts_all_calling_accounts_summary" msgid="2214134955430107240">"Velg hvilke kontoer som kan ringe"</string>
-    <string name="wifi_calling" msgid="3650509202851355742">"Wi-Fi-anrop"</string>
+    <string name="wifi_calling" msgid="3650509202851355742">"Wifi-anrop"</string>
     <string name="connection_service_default_label" msgid="7332739049855715584">"Innebygd tilkoblingstjeneste"</string>
     <string name="voicemail" msgid="7697769412804195032">"Talepostkasse"</string>
     <string name="voicemail_settings_with_label" msgid="4228431668214894138">"Talepostkasse (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
@@ -309,7 +309,7 @@
     <string name="sim_selection_required_pref" msgid="6985901872978341314">"Du må velge en SIM-innstilling"</string>
     <string name="sim_change_data_title" msgid="9142726786345906606">"Endre SIM-kort for databruk?"</string>
     <string name="sim_change_data_message" msgid="3567358694255933280">"Vil du bruke <xliff:g id="NEW_SIM">%1$s</xliff:g> i stedet for <xliff:g id="OLD_SIM">%2$s</xliff:g> for mobildata?"</string>
-    <string name="wifi_calling_settings_title" msgid="5800018845662016507">"Wi-Fi-anrop"</string>
+    <string name="wifi_calling_settings_title" msgid="5800018845662016507">"Wifi-anrop"</string>
     <string name="video_calling_settings_title" msgid="342829454913266078">"Videoanrop via mobiloperatør"</string>
     <string name="gsm_umts_options" msgid="4968446771519376808">"GSM/UMTS-innstillinger"</string>
     <string name="cdma_options" msgid="3669592472226145665">"CDMA-innstillinger"</string>
@@ -555,7 +555,7 @@
     <string name="incall_error_supp_service_hangup" msgid="836524952243836735">"Kan ikke frigjøre samtale(r)."</string>
     <string name="incall_error_supp_service_hold" msgid="8535056414643540997">"Kan ikke sette samtaler på vent."</string>
     <string name="incall_error_wfc_only_no_wireless_network" msgid="5860742792811400109">"Koble til et trådløst nettverk for å ringe."</string>
-    <string name="incall_error_promote_wfc" msgid="9164896813931363415">"Slå på telefonanrop via Wi-Fi for å ringe."</string>
+    <string name="incall_error_promote_wfc" msgid="9164896813931363415">"Slå på telefonanrop via Wifi for å ringe."</string>
     <string name="emergency_information_hint" msgid="9208897544917793012">"Nødinformasjon"</string>
     <string name="emergency_information_owner_hint" msgid="6256909888049185316">"Eier"</string>
     <string name="emergency_information_confirm_hint" msgid="5109017615894918914">"Trykk på nytt for å se informasjon"</string>
@@ -637,14 +637,8 @@
     <string name="phone_in_ecm_notification_title" msgid="6825016389926367946">"Modusen nødsamtale-tilbakeringing"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="653972232922670335">"Datatilkobling deaktivert"</string>
     <string name="phone_in_ecm_notification_complete_time" msgid="7341624337163082759">"Ingen datatilkobling før <xliff:g id="COMPLETETIME">%s</xliff:g>"</string>
-    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="5425906903766466743">
-      <item quantity="other">Telefonen er i nødsamtalemodus i <xliff:g id="COUNT_1">%s</xliff:g> minutter. Når telefonen er i denne modusen, kan du ikke bruke apper som krever datatilkobling. Vil du avslutte nå?</item>
-      <item quantity="one">Telefonen er i nødsamtalemodus i <xliff:g id="COUNT_0">%s</xliff:g> minutt. Når telefonen er i denne modusen, kan du ikke bruke apper som krever datatilkobling. Vil du avslutte nå?</item>
-    </plurals>
-    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="1152682528741457004">
-      <item quantity="other">Den valgte handlingen er ikke tilgjengelig i nødsamtalemodus. Telefonen er i nødsamtalemodus i <xliff:g id="COUNT_1">%s</xliff:g> minutter. Vil du avslutte nå?</item>
-      <item quantity="one">Den valgte handlingen er ikke tilgjengelig i nødsamtalemodus. Telefonen er i denne modusen i <xliff:g id="COUNT_0">%s</xliff:g> minutt. Vil du avslutte nå?</item>
-    </plurals>
+    <string name="alert_dialog_exit_ecm" msgid="7661603870224398025">"{count,plural, =1{Telefonen kommer til å være i modus for tilbakeringing av nødanrop i ett minutt. Ingen apper som bruker en datatilkobling, kan brukes i denne modusen. Vil du avslutte nå?}other{Telefonen kommer til å være i modus for tilbakeringing av nødanrop i %s minutter. Ingen apper som bruker en datatilkobling, kan brukes i denne modusen. Vil du avslutte nå?}}"</string>
+    <string name="alert_dialog_not_avaialble_in_ecm" msgid="8717711120099503279">"{count,plural, =1{Den valgte handlingen er ikke tilgjengelig i modus for tilbakeringing av nødanrop. Telefonen kommer til å være i denne modusen i ett minutt. Vil du avslutte nå?}other{Den valgte handlingen er ikke tilgjengelig i modus for tilbakeringing av nødanrop. Telefonen kommer til å være i denne modusen i %s minutter. Vil du avslutte nå?}}"</string>
     <string name="alert_dialog_in_ecm_call" msgid="1207545603149771978">"Den valgte handlingen er ikke mulig under en nødsamtale."</string>
     <string name="progress_dialog_exiting_ecm" msgid="9159080081676927217">"Avslutter modusen nødsamtale-tilbakeringing"</string>
     <string name="alert_dialog_yes" msgid="3532525979632841417">"Ja"</string>
@@ -652,10 +646,7 @@
     <string name="alert_dialog_dismiss" msgid="1336356286354517054">"Lukk"</string>
     <string name="phone_in_ecm_call_notification_text_without_data_restriction_hint" msgid="3747860785153531225">"Telefonen er i modus for tilbakeringing av nødanrop"</string>
     <string name="phone_in_ecm_notification_complete_time_without_data_restriction_hint" msgid="3690292264812050858">"Til <xliff:g id="COMPLETETIME">%s</xliff:g>"</string>
-    <plurals name="alert_dialog_exit_ecm_without_data_restriction_hint" formatted="false" msgid="6477733043040328640">
-      <item quantity="other">Telefonen kommer til å være i modus for tilbakeringing av nødanrop i <xliff:g id="COUNT_1">%s</xliff:g> minutter.\nVil du avslutte nå?</item>
-      <item quantity="one">Telefonen kommer til å være i modus for tilbakeringing av nødanrop i <xliff:g id="COUNT_0">%s</xliff:g> minutt.\nVil du avslutte nå?</item>
-    </plurals>
+    <string name="alert_dialog_exit_ecm_without_data_restriction_hint" msgid="7549850847524907932">"{count,plural, =1{Telefonen kommer til å være i modus for tilbakeringing av nødanrop i ett minutt.\nVil du avslutte nå?}other{Telefonen kommer til å være i modus for tilbakeringing av nødanrop i %s minutter.\nVil du avslutte nå?}}"</string>
     <string name="voicemail_provider" msgid="4158806657253745294">"Tjeneste"</string>
     <string name="voicemail_settings" msgid="4451045613238972776">"Konfigurering"</string>
     <string name="voicemail_number_not_set" msgid="8831561283386938155">"&lt;Ikke angitt&gt;"</string>
@@ -681,18 +672,17 @@
     <string name="sim_description_emergency_calls" msgid="5146872803938897296">"Kun nødanrop"</string>
     <string name="sim_description_default" msgid="7474671114363724971">"SIM-kort, spor: <xliff:g id="SLOT_ID">%s</xliff:g>"</string>
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"Tilgjengelighet"</string>
-    <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"Wi-Fi-anrop fra"</string>
-    <string name="status_hint_label_wifi_call" msgid="942993035689809853">"Oppringing via Wi-Fi"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"Trykk på nytt for å åpne"</string>
+    <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"Wifi-anrop fra"</string>
+    <string name="status_hint_label_wifi_call" msgid="942993035689809853">"Oppringing via Wifi"</string>
     <string name="message_decode_error" msgid="1061856591500290887">"Det oppsto en feil under dekoding av meldingen."</string>
     <string name="callFailed_cdma_activation" msgid="5392057031552253550">"Et SIM-kort har aktivert tjenesten din og oppdatert roamingfunksjonene for telefonen din."</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"Du har for mange aktive samtaler. Avslutt eller slå sammen eksisterende samtaler før du starter en ny samtale."</string>
     <string name="callFailed_imei_not_accepted" msgid="7257903653685147251">"Kunne ikke koble til. Sett inn et gyldig SIM-kort."</string>
-    <string name="callFailed_wifi_lost" msgid="1788036730589163141">"Samtalen ble avsluttet fordi Wi-Fi-forbindelsen ble brutt."</string>
+    <string name="callFailed_wifi_lost" msgid="1788036730589163141">"Samtalen ble avsluttet fordi Wifi-forbindelsen ble brutt."</string>
     <string name="dialFailed_low_battery" msgid="6857904237423407056">"Kan ikke utføre videoanropet på grunn av lite batteristrøm."</string>
     <string name="callFailed_low_battery" msgid="4056828320214416182">"Videosamtalen ble avsluttet på grunn av lite batteristrøm."</string>
-    <string name="callFailed_emergency_call_over_wfc_not_available" msgid="5944309590693432042">"Nødanrop via Wi-Fi-anrop er ikke tilgjengelig på dette stedet."</string>
-    <string name="callFailed_wfc_service_not_available_in_this_location" msgid="3624536608369524988">"Wi-Fi-anrop er ikke tilgjengelige på dette stedet."</string>
+    <string name="callFailed_emergency_call_over_wfc_not_available" msgid="5944309590693432042">"Nødanrop via wifi-anrop er ikke tilgjengelig på dette stedet."</string>
+    <string name="callFailed_wfc_service_not_available_in_this_location" msgid="3624536608369524988">"Wifi-anrop er ikke tilgjengelige på dette stedet."</string>
     <string name="change_pin_title" msgid="3564254326626797321">"Endre PIN-kode for talemeldinger"</string>
     <string name="change_pin_continue_label" msgid="5177011752453506371">"Fortsett"</string>
     <string name="change_pin_cancel_label" msgid="2301711566758827936">"Avbryt"</string>
@@ -827,7 +817,7 @@
     <string name="callFailed_already_dialing" msgid="7250591188960691086">"Du kan ikke ringe fordi telefonen allerede slår nummeret for et annet utgående anrop."</string>
     <string name="callFailed_already_ringing" msgid="2376603543544289303">"Du kan ikke ringe fordi du ikke har svart på et innkommende anrop. Svar på eller avvis det innkommende anropet før du ringer på nytt."</string>
     <string name="callFailed_calling_disabled" msgid="5010992739401206283">"Du kan ikke ringe fordi anrop er deaktivert ved hjelp av systemegenskapen ro.telephony.disable-call."</string>
-    <string name="callFailed_too_many_calls" msgid="5379426826618582180">"Du kan ikke ringe fordi to andre anrop allerede pågår. Koble fra ett av anropene eller slå dem sammen i en konferansesamtale, før du ringer på nytt."</string>
+    <string name="callFailed_too_many_calls" msgid="2761754044990799580">"Du kan ikke ringe fordi to andre anrop allerede pågår. Koble fra ett av anropene eller slå dem sammen i en konferansesamtale, før du ringer på nytt."</string>
     <string name="supp_service_over_ut_precautions" msgid="2145018231396701311">"Før du bruker <xliff:g id="SUPP_SERVICE">%s</xliff:g>, må du sørge for at mobildata er slått på. Du kan endre dette i mobilnettverksinnstillingene."</string>
     <string name="supp_service_over_ut_precautions_roaming" msgid="670342104569972327">"Før du bruker <xliff:g id="SUPP_SERVICE">%s</xliff:g>, må du sørge for at mobildata og data-roaming er slått på. Du kan endre dette i mobilnettverksinnstillingene."</string>
     <string name="supp_service_over_ut_precautions_dual_sim" msgid="5166866975550910474">"Før du bruker <xliff:g id="SUPP_SERVICE">%1$s</xliff:g>, må du sørge for at mobildata er slått på for SIM-kortet <xliff:g id="SIM_NUMBER">%2$d</xliff:g>. Du kan endre dette i mobilnettverksinnstillingene."</string>
@@ -837,7 +827,7 @@
     <string name="radio_info_data_connection_disable" msgid="6404751291511368706">"Slå av datatilkobling"</string>
     <string name="volte_provisioned_switch_string" msgid="4812874990480336178">"VoLTE-tildelt"</string>
     <string name="vt_provisioned_switch_string" msgid="8295542122512195979">"Identitetshåndtering aktiv for videoanrop"</string>
-    <string name="wfc_provisioned_switch_string" msgid="3835004640321078988">"Identitetshåndtering aktiv for Wi-Fi-anrop"</string>
+    <string name="wfc_provisioned_switch_string" msgid="3835004640321078988">"Identitetshåndtering aktiv for wifi-anrop"</string>
     <string name="eab_provisioned_switch_string" msgid="4449676720736033035">"EAB/Presence er klargjort"</string>
     <string name="cbrs_data_switch_string" msgid="6060356430838077653">"CBRS-data"</string>
     <string name="dsds_switch_string" msgid="7564769822086764796">"Slå på DSDS"</string>
@@ -845,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"Du må starte enheten din på nytt for å endre innstillingen."</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"Start på nytt"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"Avbryt"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"Angi flyttbart e-SIM-kort som standard"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"Strømforsyning for mobilradio"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"Se adressebok for SIM-kort"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"Vis forhåndsbestemte numre"</string>
@@ -855,7 +846,7 @@
     <string name="radio_info_ims_reg_status_not_registered" msgid="8045821447288876085">"Ikke registrert"</string>
     <string name="radio_info_ims_feature_status_available" msgid="6493200914756969292">"Tilgjengelig"</string>
     <string name="radio_info_ims_feature_status_unavailable" msgid="8930391136839759778">"Utilgjengelig"</string>
-    <string name="radio_info_ims_reg_status" msgid="25582845222446390">"IMS-registrering: <xliff:g id="STATUS">%1$s</xliff:g>\nTale over LTE: <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nTale over Wi-Fi: <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nVideoanrop: <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nUT-grensesnitt: <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
+    <string name="radio_info_ims_reg_status" msgid="25582845222446390">"IMS-registrering: <xliff:g id="STATUS">%1$s</xliff:g>\nTale over LTE: <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nTale over Wifi: <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nVideoanrop: <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nUT-grensesnitt: <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
     <string name="radioInfo_service_in" msgid="45753418231446400">"Fungerer som normalt"</string>
     <string name="radioInfo_service_out" msgid="287972405416142312">"Ute av drift"</string>
     <string name="radioInfo_service_emergency" msgid="4763879891415016848">"Bare nødanrop"</string>
@@ -899,6 +890,7 @@
     <string name="radio_info_band_mode_label" msgid="23480556225515290">"Velg radiobånd"</string>
     <string name="radio_info_voice_network_type_label" msgid="2395347336419593265">"Nettverkstype for tale:"</string>
     <string name="radio_info_data_network_type_label" msgid="8886597029237501929">"Type datanettverk:"</string>
+    <string name="radio_info_override_network_type_label" msgid="4176280017221092005">"Overstyr nettverkstype:"</string>
     <string name="phone_index_label" msgid="6222406512768964268">"Velg telefonindeks"</string>
     <string name="radio_info_set_perferred_label" msgid="7408131389363136210">"Velg foretrukket nettverkstype:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="6951237885381284790">"Ping vertsnavn(www.google.no) IPv4:"</string>
@@ -910,10 +902,10 @@
     <string name="radio_info_smsc_refresh_label" msgid="8409923721451604560">"Last inn på nytt"</string>
     <string name="radio_info_toggle_dns_check_label" msgid="1394078554927787350">"Slå av/på DNS-sjekk"</string>
     <string name="oem_radio_info_label" msgid="2914167475119997456">"Produsentspesfikk informasjon og innstillinger"</string>
-    <string name="radio_info_endc_available" msgid="4410653375290113436">"EN-DC tilgjengelig:"</string>
-    <string name="radio_info_dcnr_restricted" msgid="2469125498066960807">"DCNR begrenset:"</string>
-    <string name="radio_info_nr_available" msgid="1321318331361249997">"NR tilgjengelig:"</string>
-    <string name="radio_info_nr_state" msgid="1337571996788535356">"NR-tilstand:"</string>
+    <string name="radio_info_endc_available" msgid="2983767110681230019">"EN-DC tilgjengelig (NSA):"</string>
+    <string name="radio_info_dcnr_restricted" msgid="7147511536420148173">"DCNR begrenset (NSA):"</string>
+    <string name="radio_info_nr_available" msgid="3383388088451237182">"NR tilgjengelig (NSA):"</string>
+    <string name="radio_info_nr_state" msgid="4158805093187555149">"NR-tilstand (NSA):"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR-frekvens:"</string>
     <string name="band_mode_title" msgid="7988822920724576842">"Angi båndmodus for radio"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"Laster inn båndlisten …"</string>
diff --git a/res/values-ne/strings.xml b/res/values-ne/strings.xml
index 94dacf4..6d7940e 100644
--- a/res/values-ne/strings.xml
+++ b/res/values-ne/strings.xml
@@ -637,14 +637,8 @@
     <string name="phone_in_ecm_notification_title" msgid="6825016389926367946">"आपत्‌कालीन कलब्याक मोड"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="653972232922670335">"डेटा जडान अक्षम भयो"</string>
     <string name="phone_in_ecm_notification_complete_time" msgid="7341624337163082759">"<xliff:g id="COMPLETETIME">%s</xliff:g> सम्म डेटा कनेक्ट भएको छैन"</string>
-    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="5425906903766466743">
-      <item quantity="other"> फोन आपत्‌कालीन कलब्याक मोडमा <xliff:g id="COUNT_1">%s</xliff:g> मिनेटको लागि हुनेछ। यस मोडको अवस्थामा एक डेटा जडान प्रयोग गरेर कुनै पनि एपहरू प्रयोग गर्न सकिँदैन। के तपाईं अहिले निस्कन चाहनुहुन्छ?</item>
-      <item quantity="one"> फोन आपत्‌कालीन कलब्याक मोडमा <xliff:g id="COUNT_0">%s</xliff:g> मिनेटको लागि हुनेछ। यस मोडको समयमा एक डेटा जडान प्रयोग गरेर कुनै पनि एपहरू प्रयोग गर्न सकिँदैन। के तपाईं अहिले निस्कन चाहनुहुन्छ?</item>
-    </plurals>
-    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="1152682528741457004">
-      <item quantity="other"> आपत्‌कालीन कलब्याक मोडको समयमा चयनित कार्य उपलब्ध छैन। फोन यस मोडमा <xliff:g id="COUNT_1">%s</xliff:g> मिनेटको लागि हुनेछ। के तपाईं अहिले निस्कन चाहनुहुन्छ?</item>
-      <item quantity="one"> आपत्‌कालीन कलब्याक मोडको समयमा चयनित कार्य उपलब्ध छैन। फोन यस मोडमा <xliff:g id="COUNT_0">%s</xliff:g> मिनेटको लागि हुनेछ। के तपाईं अहिले निस्कन चाहनुहुन्छ?</item>
-    </plurals>
+    <string name="alert_dialog_exit_ecm" msgid="7661603870224398025">"{count,plural, =1{यो फोन एक मिनेटसम्म आपत्‌कालीन कलब्याक मोडमा हुने छ। उक्त फोन यो मोडमा हुँदा डेटा कनेक्सन प्रयोग गर्ने कुनै पनि एप प्रयोग गर्न मिल्दैन। तपाईं अहिले नै यो मोडबाट बाहिरिन चाहनुहुन्छ?}other{यो फोन %s मिनेटसम्म आपत्‌कालीन कलब्याक मोडमा हुने छ। उक्त फोन यो मोडमा हुँदा डेटा कनेक्सन प्रयोग गर्ने कुनै पनि एप प्रयोग गर्न मिल्दैन। तपाईं अहिले नै यो मोडबाट बाहिरिन चाहनुहुन्छ?}}"</string>
+    <string name="alert_dialog_not_avaialble_in_ecm" msgid="8717711120099503279">"{count,plural, =1{आपत्‌कालीन कलब्याक मोडमा हुँदा चयन गरिएको कारबाही गर्न मिल्दैन। फोन एक मिनेटसम्म यो मोडमा हुने छ। तपाईं अहिले नै यो मोडबाट बाहिरिन चाहनुहुन्छ?}other{आपत्‌कालीन कलब्याक मोडमा हुँदा चयन गरिएको कारबाही गर्न मिल्दैन। फोन %s मिनेटसम्म यो मोडमा हुने छ। तपाईं अहिले नै यो मोडबाट बाहिरिन चाहनुहुन्छ?}}"</string>
     <string name="alert_dialog_in_ecm_call" msgid="1207545603149771978">"आपत्‌कालीन कल हुँदा चयन भएको कार्य उपलब्ध हुँदैन।"</string>
     <string name="progress_dialog_exiting_ecm" msgid="9159080081676927217">"आपत्‌कालीन कलब्याक मोडबाट निस्कदै"</string>
     <string name="alert_dialog_yes" msgid="3532525979632841417">"हो"</string>
@@ -652,10 +646,7 @@
     <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">
-      <item quantity="other">यो फोन <xliff:g id="COUNT_1">%s</xliff:g> मिनेटका लागि आपत्‌कालीन कलब्याक मोडमा हुने छ।\nतपाईं अहिले नै बाहिर निस्कन चाहनुहुन्छ?</item>
-      <item quantity="one">यो फोन <xliff:g id="COUNT_0">%s</xliff:g> मिनेटका लागि आपत्‌कालीन कलब्याक मोडमा हुने छ।\nतपाईं अहिले नै बाहिर निस्कन चाहनुहुन्छ?</item>
-    </plurals>
+    <string name="alert_dialog_exit_ecm_without_data_restriction_hint" msgid="7549850847524907932">"{count,plural, =1{यो फोन एक मिनेटसम्म आपत्‌कालीन कलब्याक मोडमा हुने छ।\nतपाईं अहिले नै यो मोडबाट बाहिरिन चाहनुहुन्छ?}other{यो फोन %s मिनेटसम्म आपत्‌कालीन कलब्याक मोडमा हुने छ।\nतपाईं अहिले नै यो मोडबाट बाहिरिन चाहनुहुन्छ?}}"</string>
     <string name="voicemail_provider" msgid="4158806657253745294">"सेवा"</string>
     <string name="voicemail_settings" msgid="4451045613238972776">"सेटअप"</string>
     <string name="voicemail_number_not_set" msgid="8831561283386938155">"सेट गरिएको छैन"</string>
@@ -683,7 +674,6 @@
     <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="callFailed_cdma_activation" msgid="5392057031552253550">"SIM कार्डले तपाईँको सेवा सक्रिय गर्नुका तथा फोनको रोमिङ क्षमताहरू पनि अद्यावधिक गरिदिएको छ।"</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"धेरै सक्रिय कलहरू छन्। कृपया कुनै नयाँ राख्नु अघि विद्यमान कलहरूलाई अन्त्य वा मर्ज गर्नुहोस्।"</string>
@@ -827,7 +817,7 @@
     <string name="callFailed_already_dialing" msgid="7250591188960691086">"अर्को बहिर्गमन कल पहिले नै डायल भएका हुनाले कल गर्न सकिँदैन।"</string>
     <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="callFailed_too_many_calls" msgid="2761754044990799580">"पहिले नै दुईवटा कलहरू जारी रहेकाले कुनै नयाँ कल गर्न सकिँदैन। नयाँ कल गर्नुअघि हाल जारी कलहरूमध्ये कुनै एउटा कल डिस्कनेक्ट गर्नुहोस् वा ती दुवैलाई सम्मेलन कलमा मर्ज गर्नुहोस्।"</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> प्रयोग गर्न SIM <xliff:g id="SIM_NUMBER">%2$d</xliff:g> मा मोबाइल डेटा सक्रिय गरिएको कुरा सुनिश्चित गर्नुहोस्। तपाईं मोबाइल नेटवर्कका सेटिङहरूमा गई यसलाई बदल्न सक्नुहुन्छ।"</string>
@@ -845,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"यो सेटिङ परिवर्तन गर्न तपाईंले आफ्नो यन्त्र पुनः सुरु गर्नु पर्छ।"</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"पुनः सुरु गर्नुहोस्"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"रद्द गर्नुहोस्"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"हटाउन मिल्ने eSIM डिफल्ट रूपमा सेट गर्नुहोस्"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"मोबाइल रेडियोको पावर"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"SIM को ठेगाना पुस्तिका हेर्नुहोस्"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"स्थिर डायल गर्ने नम्बरहरू हेर्नुहोस्"</string>
@@ -899,6 +890,7 @@
     <string name="radio_info_band_mode_label" msgid="23480556225515290">"रेडियोको ब्यान्ड चयन गर्नुहोस्"</string>
     <string name="radio_info_voice_network_type_label" msgid="2395347336419593265">"Voice नेटवर्कको प्रकार:"</string>
     <string name="radio_info_data_network_type_label" msgid="8886597029237501929">"डेटा नेटवर्कको प्रकार:"</string>
+    <string name="radio_info_override_network_type_label" msgid="4176280017221092005">"ओभरराइड नेटवर्कको प्रकार:"</string>
     <string name="phone_index_label" msgid="6222406512768964268">"फोनको सूचक चयन गर्नुहोस्"</string>
     <string name="radio_info_set_perferred_label" msgid="7408131389363136210">"रुचाइएको नेटवर्कको प्रकार सेट गर्नुहोस्:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="6951237885381284790">"होस्टनाम (www.google.com) IPv4 मा पिङ गर्नुहोस्:"</string>
@@ -910,10 +902,10 @@
     <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>
-    <string name="radio_info_dcnr_restricted" msgid="2469125498066960807">"DCNR प्रतिबन्धित छ:"</string>
-    <string name="radio_info_nr_available" msgid="1321318331361249997">"NR उपलब्ध छ:"</string>
-    <string name="radio_info_nr_state" msgid="1337571996788535356">"NR को स्थिती:"</string>
+    <string name="radio_info_endc_available" msgid="2983767110681230019">"EN-DC उपलब्ध छ (NSA):"</string>
+    <string name="radio_info_dcnr_restricted" msgid="7147511536420148173">"DCNR प्रतिबन्धित छ (NSA):"</string>
+    <string name="radio_info_nr_available" msgid="3383388088451237182">"NR उपलब्ध छ (NSA):"</string>
+    <string name="radio_info_nr_state" msgid="4158805093187555149">"NR को स्थिति (NSA):"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR फ्रिक्वेन्सी:"</string>
     <string name="band_mode_title" msgid="7988822920724576842">"रेडियोको ब्यान्डसम्बन्धी मोडलाई सेट गर्नुहोस्"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"ब्यान्डको सूची लोड गर्दै…"</string>
diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml
index 05c83c5..77c8748 100644
--- a/res/values-nl/strings.xml
+++ b/res/values-nl/strings.xml
@@ -637,14 +637,8 @@
     <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>
-    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="5425906903766466743">
-      <item quantity="other">De telefoon bevindt zich <xliff:g id="COUNT_1">%s</xliff:g> minuten in de modus voor noodoproepen. In deze modus kunnen geen apps worden gebruikt waarvoor een gegevensverbinding nodig is. Wil je nu afsluiten?</item>
-      <item quantity="one">De telefoon bevindt zich <xliff:g id="COUNT_0">%s</xliff:g> minuut in de modus voor noodoproepen. In deze modus kunnen geen apps worden gebruikt waarvoor een gegevensverbinding nodig is. Wil je nu afsluiten?</item>
-    </plurals>
-    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="1152682528741457004">
-      <item quantity="other">De geselecteerde actie is niet beschikbaar in de modus voor noodoproepen. De telefoon bevindt zich <xliff:g id="COUNT_1">%s</xliff:g> minuten in deze modus. Wil je nu afsluiten?</item>
-      <item quantity="one">De geselecteerde actie is niet beschikbaar in de modus voor noodoproepen. De telefoon bevindt zich <xliff:g id="COUNT_0">%s</xliff:g> minuut in deze modus. Wil je nu afsluiten?</item>
-    </plurals>
+    <string name="alert_dialog_exit_ecm" msgid="7661603870224398025">"{count,plural, =1{De telefoon blijft 1 minuut in de modus voor noodoproepen. In deze modus kun je geen apps gebruiken waarvoor een dataverbinding nodig is. Wil je nu afsluiten?}other{De telefoon blijft %s minuten in de modus voor noodoproepen. In deze modus kun je geen apps gebruiken waarvoor een dataverbinding nodig is. Wil je nu afsluiten?}}"</string>
+    <string name="alert_dialog_not_avaialble_in_ecm" msgid="8717711120099503279">"{count,plural, =1{De geselecteerde actie is niet beschikbaar in de modus voor noodoproepen. De telefoon blijft 1 minuut in deze modus. Wil je nu afsluiten?}other{De geselecteerde actie is niet beschikbaar in de modus voor noodoproepen. De telefoon blijft %s minuten in deze modus. Wil je nu afsluiten?}}"</string>
     <string name="alert_dialog_in_ecm_call" msgid="1207545603149771978">"De geselecteerde actie is niet beschikbaar tijdens noodoproepen."</string>
     <string name="progress_dialog_exiting_ecm" msgid="9159080081676927217">"Modus voor noodoproepen verlaten"</string>
     <string name="alert_dialog_yes" msgid="3532525979632841417">"Ja"</string>
@@ -652,10 +646,7 @@
     <string name="alert_dialog_dismiss" msgid="1336356286354517054">"Negeren"</string>
     <string name="phone_in_ecm_call_notification_text_without_data_restriction_hint" msgid="3747860785153531225">"De modus voor noodoproepen is geactiveerd voor de telefoon"</string>
     <string name="phone_in_ecm_notification_complete_time_without_data_restriction_hint" msgid="3690292264812050858">"Tot <xliff:g id="COMPLETETIME">%s</xliff:g>"</string>
-    <plurals name="alert_dialog_exit_ecm_without_data_restriction_hint" formatted="false" msgid="6477733043040328640">
-      <item quantity="other">De telefoon blijft <xliff:g id="COUNT_1">%s</xliff:g> minuten in de modus voor noodoproepen.\nWil je nu afsluiten?</item>
-      <item quantity="one">De telefoon blijft <xliff:g id="COUNT_0">%s</xliff:g> minuut in de modus voor noodoproepen.\nWil je nu afsluiten?</item>
-    </plurals>
+    <string name="alert_dialog_exit_ecm_without_data_restriction_hint" msgid="7549850847524907932">"{count,plural, =1{De telefoon blijft 1 minuut in de modus voor noodoproepen.\nWil je nu afsluiten?}other{De telefoon blijft %s minuten in de modus voor noodoproepen.\nWil je nu afsluiten?}}"</string>
     <string name="voicemail_provider" msgid="4158806657253745294">"Service"</string>
     <string name="voicemail_settings" msgid="4451045613238972776">"Instellen"</string>
     <string name="voicemail_number_not_set" msgid="8831561283386938155">"&lt;Niet ingesteld&gt;"</string>
@@ -683,7 +674,6 @@
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"Toegankelijkheid"</string>
     <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"Wifi-gesprek van"</string>
     <string name="status_hint_label_wifi_call" msgid="942993035689809853">"Wifi-gesprek"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"Tik nogmaals om te openen"</string>
     <string name="message_decode_error" msgid="1061856591500290887">"Er is een fout opgetreden tijdens het decoderen van het bericht."</string>
     <string name="callFailed_cdma_activation" msgid="5392057031552253550">"Een simkaart heeft je service geactiveerd en heeft de roaming-mogelijkheden van je telefoon geüpdatet."</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"Er zijn te veel actieve gesprekken. Beëindig bestaande gesprekken of voeg ze samen voordat je een nieuw gesprek start."</string>
@@ -827,7 +817,7 @@
     <string name="callFailed_already_dialing" msgid="7250591188960691086">"Kan gesprek niet plaatsen omdat er al een uitgaand gesprek is gestart."</string>
     <string name="callFailed_already_ringing" msgid="2376603543544289303">"Kan gesprek niet plaatsen omdat er een niet-beantwoord inkomend gesprek is. Beantwoord of weiger het inkomende gesprek voordat je een nieuw gesprek plaatst."</string>
     <string name="callFailed_calling_disabled" msgid="5010992739401206283">"Kan gesprek niet plaatsen omdat bellen is uitgezet via de systeemeigenschap ro.telephony.disable-call."</string>
-    <string name="callFailed_too_many_calls" msgid="5379426826618582180">"Kan gesprek niet plaatsen omdat er al twee actieve gesprekken zijn. Verbreek de verbinding in een van de gesprekken of voeg ze samen tot een conferencecall voordat je een nieuw gesprek plaatst."</string>
+    <string name="callFailed_too_many_calls" msgid="2761754044990799580">"Kan gesprek niet plaatsen omdat er al 2 actieve gesprekken zijn. Verbreek de verbinding in een van de gesprekken of voeg ze samen tot een conferencecall voordat je een nieuw gesprek plaatst."</string>
     <string name="supp_service_over_ut_precautions" msgid="2145018231396701311">"Als je <xliff:g id="SUPP_SERVICE">%s</xliff:g> wilt gebruiken, zorg je dat je mobiele data hebt aangezet. Je kunt dit wijzigen via de mobiele netwerkinstellingen."</string>
     <string name="supp_service_over_ut_precautions_roaming" msgid="670342104569972327">"Als je <xliff:g id="SUPP_SERVICE">%s</xliff:g> wilt gebruiken, zorg je dat je mobiele data en dataroaming hebt aangezet. Je kunt dit wijzigen via de mobiele netwerkinstellingen."</string>
     <string name="supp_service_over_ut_precautions_dual_sim" msgid="5166866975550910474">"Als je <xliff:g id="SUPP_SERVICE">%1$s</xliff:g> wilt gebruiken, zorg je dat je mobiele data hebt aangezet voor sim <xliff:g id="SIM_NUMBER">%2$d</xliff:g>. Je kunt dit wijzigen via de mobiele netwerkinstellingen."</string>
@@ -845,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"Start het apparaat opnieuw op om de instelling te wijzigen."</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"Opnieuw opstarten"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"Annuleren"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"Verwisselbare e-simkaart instellen als standaard"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"Mobiel radiovermogen"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"Adresboek op simkaart bekijken"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"Vaste nummers bekijken"</string>
@@ -899,6 +890,7 @@
     <string name="radio_info_band_mode_label" msgid="23480556225515290">"Radioband selecteren"</string>
     <string name="radio_info_voice_network_type_label" msgid="2395347336419593265">"Type spraaknetwerk:"</string>
     <string name="radio_info_data_network_type_label" msgid="8886597029237501929">"Type gegevensnetwerk:"</string>
+    <string name="radio_info_override_network_type_label" msgid="4176280017221092005">"Netwerktype overschrijven:"</string>
     <string name="phone_index_label" msgid="6222406512768964268">"Telefoonindex selecteren"</string>
     <string name="radio_info_set_perferred_label" msgid="7408131389363136210">"Voorkeursnetwerktype instellen:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="6951237885381284790">"IPv4 van hostnaam (www.google.com) pingen:"</string>
@@ -910,10 +902,10 @@
     <string name="radio_info_smsc_refresh_label" msgid="8409923721451604560">"Vernieuwen"</string>
     <string name="radio_info_toggle_dns_check_label" msgid="1394078554927787350">"DNS-controle aan-/uitzetten"</string>
     <string name="oem_radio_info_label" msgid="2914167475119997456">"OEM-specifieke gegevens/instellingen"</string>
-    <string name="radio_info_endc_available" msgid="4410653375290113436">"EN-DC beschikbaar:"</string>
-    <string name="radio_info_dcnr_restricted" msgid="2469125498066960807">"DCNR beperkt:"</string>
-    <string name="radio_info_nr_available" msgid="1321318331361249997">"NR beschikbaar:"</string>
-    <string name="radio_info_nr_state" msgid="1337571996788535356">"NR-status:"</string>
+    <string name="radio_info_endc_available" msgid="2983767110681230019">"EN-DC beschikbaar (NSA):"</string>
+    <string name="radio_info_dcnr_restricted" msgid="7147511536420148173">"DCNR beperkt (NSA):"</string>
+    <string name="radio_info_nr_available" msgid="3383388088451237182">"NR beschikbaar (NSA):"</string>
+    <string name="radio_info_nr_state" msgid="4158805093187555149">"NR-status (NSA):"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR-frequentie:"</string>
     <string name="band_mode_title" msgid="7988822920724576842">"Modus voor radioband instellen"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"Bandlijst laden…"</string>
diff --git a/res/values-or/strings.xml b/res/values-or/strings.xml
index 2a8f830..36fd00f 100644
--- a/res/values-or/strings.xml
+++ b/res/values-or/strings.xml
@@ -30,7 +30,7 @@
     <string name="mmiStarted" msgid="9212975136944568623">"MMI କୋଡ୍‌କୁ ଆରମ୍ଭ କରାଯାଇଛି"</string>
     <string name="ussdRunning" msgid="1163586813106772717">"USSD କୋଡ୍ ରନ୍ କରୁଛି…"</string>
     <string name="mmiCancelled" msgid="5339191899200678272">"MMI କୋଡ୍‌କୁ ବାତିଲ୍ କରାଯାଇଛି"</string>
-    <string name="cancel" msgid="8984206397635155197">"ବାତିଲ୍‍ କରନ୍ତୁ"</string>
+    <string name="cancel" msgid="8984206397635155197">"ବାତିଲ କରନ୍ତୁ"</string>
     <string name="enter_input" msgid="6193628663039958990">"USSD ମେସେଜ୍ ନିଶ୍ଚିତରୂପେ <xliff:g id="MIN_LEN">%1$d</xliff:g> ଓ <xliff:g id="MAX_LEN">%2$d</xliff:g>ଟି ଅକ୍ଷର ମଧ୍ୟରେ ରହିବ। ଦୟାକରି ପୁଣି ଚେଷ୍ଟା କରନ୍ତୁ।"</string>
     <string name="manageConferenceLabel" msgid="8415044818156353233">"କନଫରେନ୍ସ କଲ୍‌କୁ ପରିଚାଳନା କରନ୍ତୁ"</string>
     <string name="ok" msgid="7818974223666140165">"ଠିକ୍ ଅଛି"</string>
@@ -128,7 +128,7 @@
     <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="disable_cdma_cw" msgid="7119290446496301734">"ବାତିଲ୍ କରନ୍ତୁ"</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>
     <string name="updating_title" msgid="6130548922615719689">"କଲ ସେଟିଂସ"</string>
@@ -156,8 +156,8 @@
     <item msgid="9150034130629852635">"ସଂଖ୍ୟାକୁ ଦେଖାନ୍ତୁ"</item>
   </string-array>
     <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="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="no_change" msgid="3737264882821031892">"କୌଣସି ପରିବର୍ତ୍ତନ କରାଯାଇନାହିଁ|"</string>
     <string name="sum_voicemail_choose_provider" msgid="6750824719081403773">"ଭଏସ୍‌ମେଲ୍ ସେବାକୁ ଚୟନ କରନ୍ତୁ"</string>
@@ -419,7 +419,7 @@
     <string name="cdma_system_select_summary" msgid="3840420390242060407">"CDMAର ରୋମିଙ୍ଗ ମୋଡ୍‌କୁ ବଦଳାନ୍ତୁ"</string>
     <string name="cdma_system_select_dialogtitle" msgid="5524639510676501802">"ସିଷ୍ଟମ୍‌ ଚୟନ କରନ୍ତୁ"</string>
   <string-array name="cdma_system_select_choices">
-    <item msgid="462340042928284921">"କେବଳ ହୋମ୍"</item>
+    <item msgid="462340042928284921">"କେବଳ ହୋମ"</item>
     <item msgid="6058010046783562674">"ସ୍ଵଚାଳିତ"</item>
   </string-array>
     <string name="cdma_subscription_title" msgid="3449527179325589434">"CDMA ସବସ୍କ୍ରିପଶନ୍"</string>
@@ -458,10 +458,10 @@
     <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_edit" msgid="3593856941552460706">"ଯୋଗାଯୋଗକୁ ଏଡିଟ୍‍ କରନ୍ତୁ"</string>
-    <string name="menu_delete" msgid="6326861853830546488">"ଯୋଗାଯୋଗକୁ ଡିଲିଟ୍ କରନ୍ତୁ"</string>
-    <string name="menu_dial" msgid="4178537318419450012">"ଯୋଗାଯୋଗକୁ ଡାଏଲ୍ କରନ୍ତୁ"</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>
     <string name="get_pin2" msgid="4221654606863196332">"PIN2 ଟାଇପ୍ କରନ୍ତୁ"</string>
     <string name="name" msgid="1347432469852527784">"ନାମ"</string>
     <string name="number" msgid="1564053487748491000">"ନମ୍ବର୍‌"</string>
@@ -469,7 +469,7 @@
     <string name="add_fdn_contact" msgid="1169713422306640887">"ଫିକ୍ସଡ୍ ଡାଏଲିଙ୍ଗ ନମ୍ବର୍‌ ଯୋଡ଼ନ୍ତୁ"</string>
     <string name="adding_fdn_contact" msgid="3112531600824361259">"ଫିକ୍ସଡ୍ ଡାଏଲିଙ୍ଗ ନମ୍ବର୍‌କୁ ଯୋଡ଼ାଯାଉଛି…"</string>
     <string name="fdn_contact_added" msgid="2840016151693394596">"ଫିକ୍ସଡ୍ ଡାଏଲିଙ୍ଗ ନମ୍ବର୍ ଯୋଡ଼ାଗଲା।"</string>
-    <string name="edit_fdn_contact" msgid="6030829994819587408">"ଫିକ୍ସଡ୍ ଡାଏଲିଙ୍ଗ ନମ୍ବର୍‌କୁ ଏଡିଟ୍ କରନ୍ତୁ"</string>
+    <string name="edit_fdn_contact" msgid="6030829994819587408">"ଫିକ୍ସଡ ଡାଏଲିଙ୍ଗ ନମ୍ବରକୁ ଏଡିଟ କରନ୍ତୁ"</string>
     <string name="updating_fdn_contact" msgid="6989341376868227150">"ଫିକ୍ସଡ୍ ଡାଏଲିଙ୍ଗ ନମ୍ବର୍ ଅପଡେଟ୍ ହେଉଛି…"</string>
     <string name="fdn_contact_updated" msgid="6876330243323118937">"ଫିକ୍ସଡ୍ ଡାଏଲିଙ୍ଗ ନମ୍ବର୍ ଅପଡେଟ୍ କରାଗଲା।"</string>
     <string name="delete_fdn_contact" msgid="7027405651994507077">"ଫିକ୍ସଡ୍ ଡାଏଲିଙ୍ଗ ନମ୍ବର୍‌କୁ ଡିଲିଟ୍ କରନ୍ତୁ"</string>
@@ -515,7 +515,7 @@
     <string name="puk2_requested" msgid="6992374450720307514">"ଭୁଲ୍ ପାସ୍‌ୱର୍ଡ। ବର୍ତ୍ତମାନ SIM ଲକ୍ ହୋ‌ଇଗଲା। 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="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="doneButton" msgid="7371209609238460207">"ହୋଇଗଲା"</string>
@@ -590,8 +590,8 @@
     <string name="importAllSimEntries" msgid="2628391505643564007">"ସମସ୍ତ ଇମ୍ପୋର୍ଟ କରନ୍ତୁ"</string>
     <string name="importingSimContacts" msgid="4995457122107888932">"SIMରେ ଥିବା ଯୋଗାଯୋଗକୁ ଇମ୍ପୋର୍ଟ କରାଯାଉଛି"</string>
     <string name="importToFDNfromContacts" msgid="5068664870738407341">"ଯୋଗଯୋଗରୁ ଇମ୍ପୋର୍ଟ କରନ୍ତୁ"</string>
-    <string name="singleContactImportedMsg" msgid="3619804066300998934">"ଇମ୍ପୋର୍ଟ କରାଯାଇଥିବା ଯୋଗାଯୋଗ"</string>
-    <string name="failedToImportSingleContactMsg" msgid="228095510489830266">"ଯୋଗଯୋଗକୁ ଇମ୍ପୋର୍ଟ କରିବାରେ ବିଫଳ ହେଲା"</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_summary" msgid="7774989500136009881">"ଶ୍ରବଣ ଯନ୍ତ୍ର କମ୍ପ୍ୟାଟିବିଲିଟୀକୁ ଚାଲୁ କରନ୍ତୁ"</string>
     <string name="rtt_mode_title" msgid="3075948111362818043">"ରିଅଲ୍-ଟାଇମ୍ ଟେକ୍ସଟ୍ (RTT) କଲ୍"</string>
@@ -637,14 +637,8 @@
     <string name="phone_in_ecm_notification_title" msgid="6825016389926367946">"ଜରୁରୀକାଳିନ କଲବ୍ୟାକ୍‍ ମୋଡ୍‍"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="653972232922670335">"ଡାଟା କନେକ୍ସନ୍‌କୁ ଅକ୍ଷମ କରାଯାଇଛି"</string>
     <string name="phone_in_ecm_notification_complete_time" msgid="7341624337163082759">"<xliff:g id="COMPLETETIME">%s</xliff:g> ପର୍ଯ୍ୟନ୍ତ କୌଣସି ଡାଟା କନେକ୍ସନ୍ ନାହିଁ"</string>
-    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="5425906903766466743">
-      <item quantity="other">ଫୋନ୍ <xliff:g id="COUNT_1">%s</xliff:g> ମିନିଟ୍ ପାଇଁ ଜରୁରିକାଳୀନ କଲବ୍ୟାକ୍ ମୋଡ୍‌ରେ ରହିବ। ଏହି ମୋଡ୍‌ରେ ଥିବା ବେଳେ ଗୋଟିଏ ଡାଟା କନେକ୍ସନ୍‌କୁ ବ୍ୟବହାର କରୁଥିବା କୌଣସି ଆପ୍ଲିକେଶନ୍‌କୁ ବ୍ୟବହାର କରାଯାଇପାରିବ ନାହିଁ। ବର୍ତ୍ତମାନ ଆପଣ ବାହାରିଯିବାକୁ ଚାହାନ୍ତି କି?</item>
-      <item quantity="one">ଫୋନ୍ <xliff:g id="COUNT_0">%s</xliff:g> ମିନିଟ୍ ପାଇଁ ଜରୁରିକାଳୀନ କଲବ୍ୟାକ୍ ମୋଡ୍‌ରେ ରହିବ ଏହି ମୋଡ୍‌ରେ ଥିବା ବେଳେ ଗୋଟିଏ ଡାଟା କନେକ୍ସନ୍‌କୁ ବ୍ୟବହାର କରୁଥିବା କୌଣସି ଆପ୍‌କୁ ବ୍ୟବହାର କରାଯାଇପାରିବ ନାହିଁ। ବର୍ତ୍ତମାନ ଆପଣ ବାହାରିଯିବାକୁ ଚାହାନ୍ତି କି?</item>
-    </plurals>
-    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="1152682528741457004">
-      <item quantity="other">ଜରୁରିକାଳୀନ କଲବ୍ୟାକ୍ ମୋଡ୍‌ରେ ରହିଥିବା ବେଳେ ଚୟନିତ କାର୍ଯ୍ୟ ଉପଲବ୍ଧ ହେବ ନାହିଁ। ଫୋନ୍ ଏହି ମୋଡ୍‌ରେ <xliff:g id="COUNT_1">%s</xliff:g> ମିନିଟ୍ ପାଇଁ ରହିବ। ବର୍ତ୍ତମାନ ଆପଣ ବାହାରିଯିବାକୁ ଚାହାନ୍ତି କି?</item>
-      <item quantity="one">ଜରୁରିକାଳୀନ କଲବ୍ୟାକ୍ ମୋଡ୍‌ରେ ରହିଥିବା ବେଳେ ଚୟନିତ କାର୍ଯ୍ୟ ଉପଲବ୍ଧ ହେବ ନାହିଁ। ଫୋନ୍ ଏହି ମୋଡ୍‌ରେ <xliff:g id="COUNT_0">%s</xliff:g> ମିନିଟ୍ ପାଇଁ ରହିବ। ବର୍ତ୍ତମାନ ଆପଣ ବାହାରିଯିବାକୁ ଚାହାନ୍ତି କି?</item>
-    </plurals>
+    <string name="alert_dialog_exit_ecm" msgid="7661603870224398025">"{count,plural, =1{ଫୋନଟି ଏକ ମିନିଟ ପାଇଁ ଜରୁରୀକାଳୀନ କଲବ୍ୟାକ ମୋଡରେ ରହିବ। ଏହି ମୋଡରେ ଥିବା ସମୟରେ ଡାଟା ସଂଯୋଗ‌କୁ ବ୍ୟବହାର କରୁଥିବା କୌଣସି ଆପକୁ ବ୍ୟବହାର କରାଯାଇପାରିବ ନାହିଁ। ଆପଣ ବର୍ତ୍ତମାନ ବାହାରି ଯିବାକୁ ଚାହାଁନ୍ତି?}other{ଫୋନଟି %s ମିନିଟ ପାଇଁ ଜରୁରୀକାଳୀନ କଲବ୍ୟାକ ମୋଡରେ ରହିବ। ଏହି ମୋଡରେ ଥିବା ସମୟରେ ଡାଟା ସଂଯୋଗ‌କୁ ବ୍ୟବହାର କରୁଥିବା କୌଣସି ଆପ୍ଲିକେସନକୁ ବ୍ୟବହାର କରାଯାଇପାରିବ ନାହିଁ। ଆପଣ ବର୍ତ୍ତମାନ ବାହାରି ଯିବାକୁ ଚାହାଁନ୍ତି?}}"</string>
+    <string name="alert_dialog_not_avaialble_in_ecm" msgid="8717711120099503279">"{count,plural, =1{ଜରୁରୀକାଳୀନ କଲବ୍ୟାକ ମୋଡରେ ଥିବା ସମୟରେ ଚୟନିତ କାର୍ଯ୍ୟଟି ଉପଲବ୍ଧ ନୁହେଁ। ଫୋନଟି ଏହି ମୋଡରେ ଏକ ମିନିଟ ପାଇଁ ରହିବ। ଆପଣ ବର୍ତ୍ତମାନ ବାହାରି ଯିବାକୁ ଚାହାଁନ୍ତି?}other{ଜରୁରୀକାଳୀନ କଲବ୍ୟାକ ମୋଡରେ ଥିବା ସମୟରେ ଚୟନିତ କାର୍ଯ୍ୟଟି ଉପଲବ୍ଧ ନୁହେଁ। ଫୋନଟି ଏହି ମୋଡରେ %s ମିନିଟ ପାଇଁ ରହିବ। ଆପଣ ବର୍ତ୍ତମାନ ବାହାରି ଯିବାକୁ ଚାହାଁନ୍ତି?}}"</string>
     <string name="alert_dialog_in_ecm_call" msgid="1207545603149771978">"ଜରୁରୀକାଳୀନ କଲ୍ କରୁଥିବାବେଳେ ଚୟନିତ କାର୍ଯ୍ୟ ଉପଲବ୍ଧ ନାହିଁ।"</string>
     <string name="progress_dialog_exiting_ecm" msgid="9159080081676927217">"ଜରୁରୀକାଳିନ କଲବ୍ୟାକ୍ ମୋଡ୍‌ରୁ ବାହାରି ଆସନ୍ତୁ"</string>
     <string name="alert_dialog_yes" msgid="3532525979632841417">"ହଁ"</string>
@@ -652,18 +646,15 @@
     <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">
-      <item quantity="other">ଫୋନଟି <xliff:g id="COUNT_1">%s</xliff:g> ମିନିଟ୍ ପାଇଁ ଜରୁରୀକାଳୀନ କଲବ୍ୟାକ୍ ମୋଡରେ ରହିବ।\nଆପଣ ବର୍ତ୍ତମାନ ବାହାରି ଯିବାକୁ ଚାହାଁନ୍ତି କି?</item>
-      <item quantity="one">ଫୋନଟି <xliff:g id="COUNT_0">%s</xliff:g> ମିନିଟ୍ ପାଇଁ ଜରୁରୀକାଳୀନ କଲବ୍ୟାକ୍ ମୋଡରେ ରହିବ।\nଆପଣ ବର୍ତ୍ତମାନ ବାହାରି ଯିବାକୁ ଚାହାଁନ୍ତି କି?</item>
-    </plurals>
+    <string name="alert_dialog_exit_ecm_without_data_restriction_hint" msgid="7549850847524907932">"{count,plural, =1{ଫୋନଟି ଏକ ମିନିଟ ପାଇଁ ଜରୁରୀକାଳୀନ କଲବ୍ୟାକ ମୋଡରେ ରହିବ। \nଆପଣ ବର୍ତ୍ତମାନ ବାହାରି ଯିବାକୁ ଚାହାଁନ୍ତି?}other{ଫୋନଟି %s ମିନିଟ ପାଇଁ ଜରୁରୀକାଳୀନ କଲବ୍ୟାକ ମୋଡରେ ରହିବ।\nଆପଣ ବର୍ତ୍ତମାନ ବାହାରି ଯିବାକୁ ଚାହାଁନ୍ତି?}}"</string>
     <string name="voicemail_provider" msgid="4158806657253745294">"ସେବା"</string>
     <string name="voicemail_settings" msgid="4451045613238972776">"ସେଟଅପ୍ କରନ୍ତୁ"</string>
     <string name="voicemail_number_not_set" msgid="8831561283386938155">"&lt;ସେଟ୍ ହୋ‌ଇନାହିଁ&gt;"</string>
     <string name="other_settings" msgid="8895088007393598447">"ଅନ୍ୟାନ୍ୟ କଲ୍‌ ସେଟିଙ୍ଗ"</string>
     <string name="calling_via_template" msgid="1791323450703751750">"<xliff:g id="PROVIDER_NAME">%s</xliff:g> ମାଧ୍ୟମରେ କଲ୍ କରନ୍ତୁ"</string>
-    <string name="contactPhoto" msgid="7885089213135154834">"ଯୋଗାଯୋଗ ଫଟୋ"</string>
+    <string name="contactPhoto" msgid="7885089213135154834">"କଣ୍ଟାକ୍ଟ ଫଟୋ"</string>
     <string name="goPrivate" msgid="4645108311382209551">"ବ୍ୟକ୍ତିଗତ ହୁଅନ୍ତୁ"</string>
-    <string name="selectContact" msgid="1527612842599767382">"ଯୋଗାଯୋଗକୁ ଚୟନ କରନ୍ତୁ"</string>
+    <string name="selectContact" msgid="1527612842599767382">"କଣ୍ଟାକ୍ଟ ଚୟନ କରନ୍ତୁ"</string>
     <string name="not_voice_capable" msgid="2819996734252084253">"ଭଏସ୍ କଲ୍ ସପୋର୍ଟ କରୁନାହିଁ"</string>
     <string name="description_dial_button" msgid="8614631902795087259">"ଡାଏଲ୍ କରନ୍ତୁ"</string>
     <string name="description_dialpad_button" msgid="7395114120463883623">"ଡାୟଲ୍‍ପ୍ୟାଡ୍‍ ଦେଖାନ୍ତୁ"</string>
@@ -683,7 +674,6 @@
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"ଆକ୍ସେସିବିଲିଟୀ"</string>
     <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"ଠାରୁ ୱାଇ-ଫାଇ କଲ୍ କରନ୍ତୁ"</string>
     <string name="status_hint_label_wifi_call" msgid="942993035689809853">"ୱାଇ-ଫାଇ କଲ୍"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"ଖୋଲିବା ପାଇଁ ପୁଣି ଟାପ୍‍ କରନ୍ତୁ"</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>
@@ -695,7 +685,7 @@
     <string name="callFailed_wfc_service_not_available_in_this_location" msgid="3624536608369524988">"ଏହି ଲୋକେସନ୍‌ରେ ୱାଇ-ଫାଇ କଲିଂ ଉପଲବ୍ଧ ନାହିଁ।"</string>
     <string name="change_pin_title" msgid="3564254326626797321">"ଭଏସମେଲ୍ PINକୁ ବଦଳାନ୍ତୁ"</string>
     <string name="change_pin_continue_label" msgid="5177011752453506371">"ଜାରି ରଖନ୍ତୁ"</string>
-    <string name="change_pin_cancel_label" msgid="2301711566758827936">"ବାତିଲ୍‍ କରନ୍ତୁ"</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">"ଆପଣଙ୍କର ପୁରୁଣା PINକୁ ନିଶ୍ଚିତ କରନ୍ତୁ"</string>
     <string name="change_pin_enter_old_pin_hint" msgid="8801292976275169367">"ଜାରି ରଖିବା ପାଇଁ ଆପଣଙ୍କର ଭଏସମେଲ୍ PINକୁ ପ୍ରବେଶ କରନ୍ତୁ।"</string>
@@ -718,7 +708,7 @@
     <string name="mobile_data_activate_diag_title" msgid="5401741936224757312">"ଡାଟାକୁ ଯୋଡ଼ିବେ?"</string>
     <string name="mobile_data_activate_diag_message" msgid="3527260988020415441">"ଆପଣଙ୍କୁ <xliff:g id="PROVIDER_NAME">%s</xliff:g> ମାଧ୍ୟମରେ ଡାଟା ଯୋଡ଼ିବାକୁ ପଡ଼ିପାରେ"</string>
     <string name="mobile_data_activate_button" msgid="1139792516354374612">"ଡାଟା ଯୋଡ଼ନ୍ତୁ"</string>
-    <string name="mobile_data_activate_cancel_button" msgid="3530174817572005860">"ବାତିଲ୍‍ କରନ୍ତୁ"</string>
+    <string name="mobile_data_activate_cancel_button" msgid="3530174817572005860">"ବାତିଲ କରନ୍ତୁ"</string>
     <string name="clh_card_title_call_ended_txt" msgid="5977978317527299698">"କଲ୍ ସମାପ୍ତ ହୋ‌ଇଛି"</string>
     <string name="clh_callFailed_powerOff_txt" msgid="8279934912560765361">"ଏୟାରପ୍ଲେନ୍ ମୋଡ୍ ଚାଲୁ ଅଛି"</string>
     <string name="clh_callFailed_simError_txt" msgid="5128538525762326413">"SIM କାର୍ଡକୁ ଆକ୍ସେସ୍ କରିହେଉନାହିଁ"</string>
@@ -805,7 +795,7 @@
     <string name="messageCallBarring" msgid="5537730400652466912">"ପାସ୍‌ୱର୍ଡ ପ୍ରବେଶ କରନ୍ତୁ"</string>
     <string name="call_barring_settings" msgid="4616607285790258919">"କଲ୍ ରୋକିବା ସେଟିଙ୍ଗ"</string>
     <string name="callFailed_NetworkBusy" msgid="5437103975842913681">"ନେଟ୍‌ୱର୍କ ବ୍ୟସ୍ତ ଅଛି। ଦୟାକରି ଆପଣ ପରେ ପୁଣି କଲ୍‌ ଚେଷ୍ଟା କରିବା ପାଇଁ ଚେଷ୍ଟା କରନ୍ତୁ।"</string>
-    <string name="callFailed_NetworkCongested" msgid="6801283142342775380">"ନେଟ୍‌ୱର୍କ ବ୍ୟସ୍ତ ଅଛି। ସହାୟତା ପାଇଁ ଆପଣଙ୍କର ମୋବାଇଲ୍ ଅପରେଟର୍‍ଙ୍କୁ ଯୋଗାଯୋଗ କରନ୍ତୁ।"</string>
+    <string name="callFailed_NetworkCongested" msgid="6801283142342775380">"ନେଟୱାର୍କ ବ୍ୟସ୍ତ ଅଛି। ସହାୟତା ପାଇଁ ଆପଣଙ୍କର ମୋବାଇଲ ଅପରେଟରଙ୍କୁ କଣ୍ଟାକ୍ଟ କରନ୍ତୁ।"</string>
     <string name="supp_service_notification_call_deflected" msgid="4980942818105909813">"କଲ୍ ଅନ୍ୟ ପାଖକୁ ଯିବା ବଦଳରେ ନିଜ ପାଖକୁ ଆସିଯାଇଛି।"</string>
     <string name="supp_service_notification_call_forwarded" msgid="7102930311735433088">"କଲ୍‌କୁ ଫରୱାର୍ଡ କରାଯାଇଛି।"</string>
     <string name="supp_service_notification_call_waiting" msgid="4577403881609445324">"କଲ୍ ଅପେକ୍ଷାରେ ଅଛି।"</string>
@@ -827,7 +817,7 @@
     <string name="callFailed_already_dialing" msgid="7250591188960691086">"ପୂର୍ବରୁ ଅନ୍ୟ ଏକ ଆଉଟ୍‌ଗୋଇଂ କଲ୍ ଡାଏଲ୍ କରାଯାଉଥିବା ଯୋଗୁଁ ଏକ କଲ୍ କରିପାରିବେ ନାହିଁ।"</string>
     <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="callFailed_too_many_calls" msgid="2761754044990799580">"ପୂର୍ବରୁ ଦୁଇଟି କଲ୍ ଚାଲୁଥିବା ଯୋଗୁଁ ଆଉ ଏକ କଲ୍ କରାଯାଇପାରିବ ନାହିଁ। ଏକ ନୂଆ କଲ୍ କରିବା ପୂର୍ବରୁ ଗୋଟିଏ କଲ୍ ବିଚ୍ଛିନ୍ନ କରନ୍ତୁ କିମ୍ବା ସେଗୁଡ଼ିକୁ ଏକ କନଫରେନ୍ସ କଲରେ ମର୍ଜ କରନ୍ତୁ।"</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>
@@ -844,7 +834,8 @@
     <string name="dsds_dialog_title" msgid="8494569893941847575">"ଡିଭାଇସ୍ ରିଷ୍ଟାର୍ଟ କରିବେ?"</string>
     <string name="dsds_dialog_message" msgid="4047480385678538850">"ଏହି ସେଟିଂ ବଦଳାଇବାକୁ ଆପଣଙ୍କୁ ଆପଣଙ୍କର ଡିଭାଇସ୍ ରିଷ୍ଟାର୍ଟ କରିବାକୁ ହେବ।"</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"ରିଷ୍ଟାର୍ଟ କରନ୍ତୁ"</string>
-    <string name="dsds_dialog_cancel" msgid="3245958947099586655">"ବାତିଲ୍ କରନ୍ତୁ"</string>
+    <string name="dsds_dialog_cancel" msgid="3245958947099586655">"ବାତିଲ କରନ୍ତୁ"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"କାଢ଼ି ହେଉଥିବା eSIMକୁ ଡିଫଲ୍ଟ ଭାବେ ସେଟ କରନ୍ତୁ"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"ମୋବାଇଲ୍ ରେଡିଓ ପାୱାର୍"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"ସିମ୍‌ରେ ଥିବା ଠିକଣା ପୁସ୍ତକ ଦେଖନ୍ତୁ"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"ସ୍ଥାୟୀ ଡାଏଲିଂ ନମ୍ୱରଗୁଡ଼ିକୁ ଦେଖନ୍ତୁ"</string>
@@ -899,6 +890,7 @@
     <string name="radio_info_band_mode_label" msgid="23480556225515290">"ରେଡିଓ ବ୍ୟାଣ୍ଡ ଚୟନ କରନ୍ତୁ"</string>
     <string name="radio_info_voice_network_type_label" msgid="2395347336419593265">"ଭଏସ୍ ନେଟ୍‌ୱାର୍କ ପ୍ରକାର:"</string>
     <string name="radio_info_data_network_type_label" msgid="8886597029237501929">"ଡାଟା ନେଟ୍‌ୱାର୍କର ପ୍ରକାର:"</string>
+    <string name="radio_info_override_network_type_label" msgid="4176280017221092005">"ନେଟୱାର୍କ ପ୍ରକାରକୁ ଓଭରରାଇଡ କରନ୍ତୁ:"</string>
     <string name="phone_index_label" msgid="6222406512768964268">"ଫୋନ୍ ଇଣ୍ଡେକ୍ସ ବାଛନ୍ତୁ"</string>
     <string name="radio_info_set_perferred_label" msgid="7408131389363136210">"ନିଜ ପସନ୍ଦର ନେଟ୍‌ୱାର୍କ ପ୍ରକାର ସେଟ୍‌ କରନ୍ତୁ:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="6951237885381284790">"ହୋଷ୍ଟନାମ (www.google.com) IPv4 ପିଙ୍ଗ କରନ୍ତୁ:"</string>
@@ -910,10 +902,10 @@
     <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>
-    <string name="radio_info_dcnr_restricted" msgid="2469125498066960807">"DCNR ପ୍ରତିବନ୍ଧିତ:"</string>
-    <string name="radio_info_nr_available" msgid="1321318331361249997">"NR ଉପଲବ୍ଧ:"</string>
-    <string name="radio_info_nr_state" msgid="1337571996788535356">"NR ସ୍ଥିତି:"</string>
+    <string name="radio_info_endc_available" msgid="2983767110681230019">"EN-DC ଉପଲବ୍ଧ (NSA):"</string>
+    <string name="radio_info_dcnr_restricted" msgid="7147511536420148173">"DCNR ପ୍ରତିବନ୍ଧିତ (NSA):"</string>
+    <string name="radio_info_nr_available" msgid="3383388088451237182">"NR ଉପଲବ୍ଧ (NSA):"</string>
+    <string name="radio_info_nr_state" msgid="4158805093187555149">"NR ସ୍ଥିତି (NSA):"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR ଫ୍ରିକ୍ୱେନ୍ସୀ:"</string>
     <string name="band_mode_title" msgid="7988822920724576842">"ରେଡିଓ ବ୍ୟାଣ୍ଡ ମୋଡ୍ ସେଟ୍ କରନ୍ତୁ"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"ବ୍ୟାଣ୍ଡ ତାଲିକା ଲୋଡ୍ କରାଯାଉଛି…"</string>
diff --git a/res/values-pa/strings.xml b/res/values-pa/strings.xml
index e4883ef..fa78e7c 100644
--- a/res/values-pa/strings.xml
+++ b/res/values-pa/strings.xml
@@ -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>
@@ -637,14 +637,8 @@
     <string name="phone_in_ecm_notification_title" msgid="6825016389926367946">"ਐਮਰਜੈਂਸੀ ਕਾਲਬੈਕ ਮੋਡ"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="653972232922670335">"ਡਾਟਾ ਕਨੈਕਸ਼ਨ ਅਸਮਰਥਿਤ"</string>
     <string name="phone_in_ecm_notification_complete_time" msgid="7341624337163082759">"<xliff:g id="COMPLETETIME">%s</xliff:g> ਤੱਕ ਕੋਈ  ਡਾਟਾ  ਕਨੈਕਸ਼ਨ ਨਹੀਂ"</string>
-    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="5425906903766466743">
-      <item quantity="one">ਫੋਨ <xliff:g id="COUNT_1">%s</xliff:g> ਮਿੰਟਾਂ ਲਈ ਐਮਰਜੈਂਸੀ ਕਾਲਬੈਕ ਮੋਡ ਵਿੱਚ ਹੋ ਜਾਏਗਾ। ਇਸ ਮੋਡ ਵਿੱਚ ਹੋਣ ਵੇਲੇ ਇੱਕ ਡਾਟਾ ਕਨੈਕਸ਼ਨ ਵਰਤ ਰਹੇ ਕੋਈ ਵੀ ਐਪਲੀਕੇਸ਼ਨ ਵਰਤੇ ਨਹੀਂ ਜਾ ਸਕਦੇ ਹਨ।  ਕੀ ਤੁਸੀਂ ਹੁਣ ਬਾਹਰ ਜਾਣਾ ਚਾਹੁੰਦੇ ਹੋ?</item>
-      <item quantity="other">ਫੋਨ <xliff:g id="COUNT_1">%s</xliff:g> ਮਿੰਟਾਂ ਲਈ ਐਮਰਜੈਂਸੀ ਕਾਲਬੈਕ ਮੋਡ ਵਿੱਚ ਹੋ ਜਾਏਗਾ। ਇਸ ਮੋਡ ਵਿੱਚ ਹੋਣ ਵੇਲੇ ਇੱਕ ਡਾਟਾ ਕਨੈਕਸ਼ਨ ਵਰਤ ਰਹੇ ਕੋਈ ਵੀ ਐਪਲੀਕੇਸ਼ਨ ਵਰਤੇ ਨਹੀਂ ਜਾ ਸਕਦੇ ਹਨ।  ਕੀ ਤੁਸੀਂ ਹੁਣ ਬਾਹਰ ਜਾਣਾ ਚਾਹੁੰਦੇ ਹੋ?</item>
-    </plurals>
-    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="1152682528741457004">
-      <item quantity="one">ਚੁਣੀ ਗਈ ਕਿਰਿਆ ਐਮਰਜੈਂਸੀ ਕਾਲਬੈਕ ਮੋਡ ਵਿੱਚ ਹੋਣ ਵੇਲੇ ਉਪਲਬਧ ਨਹੀਂ ਹੁੰਦੀ ਹੈ। ਫੋਨ <xliff:g id="COUNT_1">%s</xliff:g> ਮਿੰਟਾਂ ਲਈ ਇਸ ਮੋਡ ਵਿੱਚ ਹੋਵੇਗਾ। ਕੀ ਤੁਸੀਂ ਹੁਣ ਬਾਹਰ ਜਾਣਾ ਚਾਹੁੰਦੇ ਹੋ?</item>
-      <item quantity="other">ਚੁਣੀ ਗਈ ਕਿਰਿਆ ਐਮਰਜੈਂਸੀ ਕਾਲਬੈਕ ਮੋਡ ਵਿੱਚ ਹੋਣ ਵੇਲੇ ਉਪਲਬਧ ਨਹੀਂ ਹੁੰਦੀ ਹੈ। ਫੋਨ <xliff:g id="COUNT_1">%s</xliff:g> ਮਿੰਟਾਂ ਲਈ ਇਸ ਮੋਡ ਵਿੱਚ ਹੋਵੇਗਾ। ਕੀ ਤੁਸੀਂ ਹੁਣ ਬਾਹਰ ਜਾਣਾ ਚਾਹੁੰਦੇ ਹੋ?</item>
-    </plurals>
+    <!-- format error in translation for alert_dialog_exit_ecm (7661603870224398025) -->
+    <!-- format error in translation for alert_dialog_not_avaialble_in_ecm (8717711120099503279) -->
     <string name="alert_dialog_in_ecm_call" msgid="1207545603149771978">"ਚੁਣੀ ਗਈ ਕਿਰਿਆ ਐਮਰਜੈਂਸੀ ਕਾਲਬੈਕ ਮੋਡ ਵਿੱਚ ਹੋਣ ਵੇਲੇ ਉਪਲਬਧ ਨਹੀਂ ਹੁੰਦੀ ਹੈ।"</string>
     <string name="progress_dialog_exiting_ecm" msgid="9159080081676927217">"ਐਮਰਜੈਂਸੀ ਕਾਲਬੈਕ ਮੋਡ ਵਿੱਚੋਂ ਬਾਹਰ ਜਾ ਰਿਹਾ ਹੈ"</string>
     <string name="alert_dialog_yes" msgid="3532525979632841417">"ਹਾਂ"</string>
@@ -652,10 +646,7 @@
     <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">
-      <item quantity="one">ਫ਼ੋਨ <xliff:g id="COUNT_1">%s</xliff:g> ਮਿੰਟ ਲਈ ਸੰਕਟਕਾਲੀਨ ਕਾਲ ਮੋਡ ਵਿੱਚ ਹੋਵੇਗਾ।\nਕੀ ਤੁਸੀਂ ਹੁਣ ਬਾਹਰ ਜਾਣਾ ਚਾਹੁੰਦੇ ਹੋ?</item>
-      <item quantity="other">ਫ਼ੋਨ <xliff:g id="COUNT_1">%s</xliff:g> ਮਿੰਟਾਂ ਲਈ ਸੰਕਟਕਾਲੀਨ ਕਾਲ ਮੋਡ ਵਿੱਚ ਹੋਵੇਗਾ।\nਕੀ ਤੁਸੀਂ ਹੁਣ ਬਾਹਰ ਜਾਣਾ ਚਾਹੁੰਦੇ ਹੋ?</item>
-    </plurals>
+    <!-- format error in translation for alert_dialog_exit_ecm_without_data_restriction_hint (7549850847524907932) -->
     <string name="voicemail_provider" msgid="4158806657253745294">"ਸੇਵਾ"</string>
     <string name="voicemail_settings" msgid="4451045613238972776">"ਸੈੱਟਅੱਪ ਕਰੋ"</string>
     <string name="voicemail_number_not_set" msgid="8831561283386938155">"&lt;ਸੈੱਟ ਨਹੀਂ ਕੀਤਾ&gt;"</string>
@@ -683,7 +674,6 @@
     <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="callFailed_cdma_activation" msgid="5392057031552253550">"ਇੱਕ SIM ਕਾਰਡ ਨੇ ਤੁਹਾਡੀ ਸੇਵਾ ਸਕਿਰਿਆ ਕੀਤੀ ਹੈ ਅਤੇ ਤੁਹਾਡੇ ਫੋਨ ਦੀਆਂ ਰੋਮਿੰਗ ਸਮਰੱਥਤਾਵਾਂ ਅੱਪਡੇਟ ਕੀਤੀਆਂ ਹਨ।"</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"ਇੱਥੇ ਬਹੁਤ ਸਾਰੀਆਂ ਕਿਰਿਆਸ਼ੀਲ ਕਾਲਾਂ ਹਨ। ਕਿਰਪਾ ਕਰਕੇ ਇੱਕ ਨਵੀਂ ਕਾਲ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਮੌਜੂਦਾ ਕਾਲਾਂ ਨੂੰ ਸਮਾਪਤ ਜਾਂ ਮਿਲਾਓ।"</string>
@@ -827,7 +817,7 @@
     <string name="callFailed_already_dialing" msgid="7250591188960691086">"ਕਾਲ ਨਹੀਂ ਕੀਤੀ ਜਾ ਸਕਦੀ ਕਿਉਂਕਿ ਇੱਕ ਹੋਰ ਆਊਟਗੋਇੰਗ ਕਾਲ ਪਹਿਲਾਂ ਹੀ ਕੀਤੀ ਜਾ ਰਹੀ ਹੈ।"</string>
     <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="callFailed_too_many_calls" msgid="2761754044990799580">"ਪਹਿਲਾਂ ਤੋਂ ਦੋ ਕਾਲਾਂ ਚਾਲੂ ਹੋਣ ਕਰਕੇ ਕਾਲ ਨਹੀਂ ਕੀਤੀ ਜਾ ਸਕਦੀ। ਨਵੀਂ ਕਾਲ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇੱਕ ਕਾਲ ਨੂੰ ਡਿਸਕਨੈਕਟ ਕਰੋ ਜਾਂ ਦੋਨੋਂ ਕਾਲਾਂ ਨੂੰ ਮਿਲਾ ਕੇ ਕਾਨਫਰੰਸ ਕਾਲ ਵਿੱਚ ਬਦਲੋ।"</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>
@@ -845,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"ਤੁਹਾਨੂੰ ਇਹ ਸੈਟਿੰਗ ਬਦਲਣ ਲਈ ਡੀਵਾਈਸ ਨੂੰ ਮੁੜ-ਸ਼ੁਰੂ ਕਰਨ ਦੀ ਲੋੜ ਹੈ।"</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"ਮੁੜ-ਸ਼ੁਰੂ ਕਰੋ"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"ਰੱਦ ਕਰੋ"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"ਹਟਾਉਣਯੋਗ ਈ-ਸਿਮ ਨੂੰ ਪੂਰਵ-ਨਿਰਧਾਰਿਤ ਵਜੋਂ ਸੈੱਟ ਕਰੋ"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"ਮੋਬਾਈਲ ਰੇਡੀਓ ਪਾਵਰ"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"ਸਿਮ ਦੀ ਪਤਾ ਬੁੱਕ ਦੇਖੋ"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"ਫਿਕਸਡ ਡਾਇਲਿੰਗ ਨੰਬਰ ਦੇਖੋ"</string>
@@ -899,6 +890,7 @@
     <string name="radio_info_band_mode_label" msgid="23480556225515290">"ਰੇਡੀਓ ਬੈਂਡ ਚੁਣੋ"</string>
     <string name="radio_info_voice_network_type_label" msgid="2395347336419593265">"ਅਵਾਜ਼ੀ ਨੈੱਟਵਰਕ ਦੀ ਕਿਸਮ:"</string>
     <string name="radio_info_data_network_type_label" msgid="8886597029237501929">"ਡਾਟਾ ਨੈੱਟਵਰਕ ਕਿਸਮ:"</string>
+    <string name="radio_info_override_network_type_label" msgid="4176280017221092005">"ਓਵਰਰਾਈਡ ਨੈੱਟਵਰਕ ਕਿਸਮ:"</string>
     <string name="phone_index_label" msgid="6222406512768964268">"ਫ਼ੋਨ ਕ੍ਰਮ-ਸੂਚੀ ਚੁਣੋ"</string>
     <string name="radio_info_set_perferred_label" msgid="7408131389363136210">"ਤਰਜੀਹੀ ਨੈੱਟਵਰਕ ਕਿਸਮ ਸੈੱਟ ਕਰੋ:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="6951237885381284790">"ਹੋਸਟਨੇਮ (www.google.com) IPv4 ਪਿੰਗ ਕਰੋ:"</string>
@@ -910,10 +902,10 @@
     <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>
-    <string name="radio_info_dcnr_restricted" msgid="2469125498066960807">"DCNR ਪ੍ਰਤਿਬੰਧਿਤ:"</string>
-    <string name="radio_info_nr_available" msgid="1321318331361249997">"NR ਉਪਲਬਧ:"</string>
-    <string name="radio_info_nr_state" msgid="1337571996788535356">"NR ਸਥਿਤੀ:"</string>
+    <string name="radio_info_endc_available" msgid="2983767110681230019">"EN-DC ਉਪਲਬਧ (NSA):"</string>
+    <string name="radio_info_dcnr_restricted" msgid="7147511536420148173">"DCNR ਪ੍ਰਤਿਬੰਧਿਤ (NSA):"</string>
+    <string name="radio_info_nr_available" msgid="3383388088451237182">"NR ਉਪਲਬਧ (NSA):"</string>
+    <string name="radio_info_nr_state" msgid="4158805093187555149">"NR ਸਥਿਤੀ (NSA):"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR ਵਾਰਵਾਰਤਾ:"</string>
     <string name="band_mode_title" msgid="7988822920724576842">"ਰੇਡੀਓ ਬੈਂਡ ਮੋਡ ਸੈੱਟ ਕਰੋ"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"ਬੈਂਡ ਸੂਚੀ ਲੋਡ ਕੀਤੀ ਜਾ ਰਹੀ ਹੈ…"</string>
diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml
index 006693b..92e7a6f 100644
--- a/res/values-pl/strings.xml
+++ b/res/values-pl/strings.xml
@@ -637,18 +637,8 @@
     <string name="phone_in_ecm_notification_title" msgid="6825016389926367946">"Tryb alarmowego połączenia zwrotnego"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="653972232922670335">"Połączenie transmisji danych jest wyłączone"</string>
     <string name="phone_in_ecm_notification_complete_time" msgid="7341624337163082759">"Brak połączenia transmisji danych do <xliff:g id="COMPLETETIME">%s</xliff:g>"</string>
-    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="5425906903766466743">
-      <item quantity="few">Telefon będzie w trybie alarmowego połączenia zwrotnego przez <xliff:g id="COUNT_1">%s</xliff:g> minuty. W tym trybie nie można używać aplikacji, które korzystają z połączenia transmisji danych. Chcesz zakończyć tryb teraz?</item>
-      <item quantity="many">Telefon będzie w trybie alarmowego połączenia zwrotnego przez <xliff:g id="COUNT_1">%s</xliff:g> minut. W tym trybie nie można używać aplikacji, które korzystają z połączenia transmisji danych. Chcesz zakończyć tryb teraz?</item>
-      <item quantity="other">Telefon będzie w trybie alarmowego połączenia zwrotnego przez <xliff:g id="COUNT_1">%s</xliff:g> minuty. W tym trybie nie można używać aplikacji, które korzystają z połączenia transmisji danych. Chcesz zakończyć tryb teraz?</item>
-      <item quantity="one">Telefon będzie w trybie alarmowego połączenia zwrotnego przez <xliff:g id="COUNT_0">%s</xliff:g> minutę. W tym trybie nie można używać aplikacji, które korzystają z połączenia transmisji danych. Chcesz zakończyć tryb teraz?</item>
-    </plurals>
-    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="1152682528741457004">
-      <item quantity="few">Wybrana czynność jest niedostępna w trybie alarmowego połączenia zwrotnego. Telefon będzie w tym trybie przez <xliff:g id="COUNT_1">%s</xliff:g> minuty. Chcesz zakończyć tryb teraz?</item>
-      <item quantity="many">Wybrana czynność jest niedostępna w trybie alarmowego połączenia zwrotnego. Telefon będzie w tym trybie przez <xliff:g id="COUNT_1">%s</xliff:g> minut. Chcesz zakończyć tryb teraz?</item>
-      <item quantity="other">Wybrana czynność jest niedostępna w trybie alarmowego połączenia zwrotnego. Telefon będzie w tym trybie przez <xliff:g id="COUNT_1">%s</xliff:g> minuty. Chcesz zakończyć tryb teraz?</item>
-      <item quantity="one">Wybrana czynność jest niedostępna w trybie alarmowego połączenia zwrotnego. Telefon będzie w tym trybie przez <xliff:g id="COUNT_0">%s</xliff:g> minutę. Chcesz zakończyć tryb teraz?</item>
-    </plurals>
+    <!-- format error in translation for alert_dialog_exit_ecm (7661603870224398025) -->
+    <!-- format error in translation for alert_dialog_not_avaialble_in_ecm (8717711120099503279) -->
     <string name="alert_dialog_in_ecm_call" msgid="1207545603149771978">"Wybrana akcja jest niedostępna przy nawiązanym połączeniu alarmowym."</string>
     <string name="progress_dialog_exiting_ecm" msgid="9159080081676927217">"Kończenie trybu alarmowego połączenia zwrotnego"</string>
     <string name="alert_dialog_yes" msgid="3532525979632841417">"Tak"</string>
@@ -656,12 +646,7 @@
     <string name="alert_dialog_dismiss" msgid="1336356286354517054">"Zamknij"</string>
     <string name="phone_in_ecm_call_notification_text_without_data_restriction_hint" msgid="3747860785153531225">"Telefon jest w trybie alarmowego połączenia zwrotnego"</string>
     <string name="phone_in_ecm_notification_complete_time_without_data_restriction_hint" msgid="3690292264812050858">"Do <xliff:g id="COMPLETETIME">%s</xliff:g>"</string>
-    <plurals name="alert_dialog_exit_ecm_without_data_restriction_hint" formatted="false" msgid="6477733043040328640">
-      <item quantity="few">Telefon będzie w trybie alarmowego połączenia zwrotnego przez <xliff:g id="COUNT_1">%s</xliff:g> minuty.\nCzy chcesz teraz zakończyć ten tryb?</item>
-      <item quantity="many">Telefon będzie w trybie alarmowego połączenia zwrotnego przez <xliff:g id="COUNT_1">%s</xliff:g> minut.\nCzy chcesz teraz zakończyć ten tryb?</item>
-      <item quantity="other">Telefon będzie w trybie alarmowego połączenia zwrotnego przez <xliff:g id="COUNT_1">%s</xliff:g> minuty.\nCzy chcesz teraz zakończyć ten tryb?</item>
-      <item quantity="one">Telefon będzie w trybie alarmowego połączenia zwrotnego przez <xliff:g id="COUNT_0">%s</xliff:g> minutę.\nCzy chcesz teraz zakończyć ten tryb?</item>
-    </plurals>
+    <!-- format error in translation for alert_dialog_exit_ecm_without_data_restriction_hint (7549850847524907932) -->
     <string name="voicemail_provider" msgid="4158806657253745294">"Dostawca"</string>
     <string name="voicemail_settings" msgid="4451045613238972776">"Konfiguracja"</string>
     <string name="voicemail_number_not_set" msgid="8831561283386938155">"&lt;Nie ustawiono&gt;"</string>
@@ -689,7 +674,6 @@
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"Ułatwienia dostępu"</string>
     <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"Połączenie przez Wi-Fi od:"</string>
     <string name="status_hint_label_wifi_call" msgid="942993035689809853">"Połączenie przez Wi-Fi"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"Dotknij ponownie, by otworzyć"</string>
     <string name="message_decode_error" msgid="1061856591500290887">"Podczas dekodowania wiadomości wystąpił błąd."</string>
     <string name="callFailed_cdma_activation" msgid="5392057031552253550">"Karta SIM aktywowała usługę i zaktualizowała funkcje roamingowe telefonu."</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"Masz za dużo aktywnych połączeń. Scal lub zakończ istniejące połączenia, aby nawiązać nowe."</string>
@@ -833,7 +817,7 @@
     <string name="callFailed_already_dialing" msgid="7250591188960691086">"Nie można nawiązać połączenia, ponieważ inne połączenie jest już nawiązywane."</string>
     <string name="callFailed_already_ringing" msgid="2376603543544289303">"Nie można nawiązać połączenia, ponieważ masz nieodebrane połączenie przychodzące. Odbierz je lub odrzuć przed nawiązaniem nowego."</string>
     <string name="callFailed_calling_disabled" msgid="5010992739401206283">"Nie można nawiązać połączenia, ponieważ ta funkcja została wyłączona przy użyciu właściwości systemowej ro.telephony.disable-call."</string>
-    <string name="callFailed_too_many_calls" msgid="5379426826618582180">"Nie można nawiązać połączenia, ponieważ trwają już dwa inne połączenia. Zakończ jedno z nich lub scal je w połączenie konferencyjne, aby móc nawiązać nowe połączenie."</string>
+    <string name="callFailed_too_many_calls" msgid="2761754044990799580">"Nie można nawiązać połączenia, ponieważ trwają już 2 inne połączenia. Aby nawiązać nowe połączenie, zakończ jedno z nich lub scal je w połączenie konferencyjne."</string>
     <string name="supp_service_over_ut_precautions" msgid="2145018231396701311">"Aby używać usługi <xliff:g id="SUPP_SERVICE">%s</xliff:g>, włącz mobilną transmisję danych w ustawieniach sieci komórkowej."</string>
     <string name="supp_service_over_ut_precautions_roaming" msgid="670342104569972327">"Aby używać usługi <xliff:g id="SUPP_SERVICE">%s</xliff:g>, włącz mobilną transmisję danych i roaming danych w ustawieniach sieci komórkowej."</string>
     <string name="supp_service_over_ut_precautions_dual_sim" msgid="5166866975550910474">"Aby używać usługi <xliff:g id="SUPP_SERVICE">%1$s</xliff:g>, włącz mobilną transmisję danych dla karty SIM <xliff:g id="SIM_NUMBER">%2$d</xliff:g> w ustawieniach sieci komórkowej."</string>
@@ -851,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"Musisz ponownie uruchomić urządzenie, by to zmienić."</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"Uruchom ponownie"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"Anuluj"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"Ustaw wymienną kartę eSIM jako domyślną"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"Moc sygnału komórkowego"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"Wyświetl książkę adresową z karty SIM"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"Wyświetl ustalone numery"</string>
@@ -905,6 +890,7 @@
     <string name="radio_info_band_mode_label" msgid="23480556225515290">"Wybierz pasmo radiowe"</string>
     <string name="radio_info_voice_network_type_label" msgid="2395347336419593265">"Typ sieci dla połączeń głosowych:"</string>
     <string name="radio_info_data_network_type_label" msgid="8886597029237501929">"Typ sieci danych:"</string>
+    <string name="radio_info_override_network_type_label" msgid="4176280017221092005">"Zastępuj typ sieci:"</string>
     <string name="phone_index_label" msgid="6222406512768964268">"Wybierz indeks telefonu"</string>
     <string name="radio_info_set_perferred_label" msgid="7408131389363136210">"Ustaw preferowany typ sieci:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="6951237885381284790">"Ping nazwa_hosta(www.google.pl) IPv4:"</string>
@@ -916,10 +902,10 @@
     <string name="radio_info_smsc_refresh_label" msgid="8409923721451604560">"Odśwież"</string>
     <string name="radio_info_toggle_dns_check_label" msgid="1394078554927787350">"Przełącz sprawdzanie DNS"</string>
     <string name="oem_radio_info_label" msgid="2914167475119997456">"Informacje/ustawienia specyficzne dla producenta OEM"</string>
-    <string name="radio_info_endc_available" msgid="4410653375290113436">"Dostępne EN-DC:"</string>
-    <string name="radio_info_dcnr_restricted" msgid="2469125498066960807">"Ograniczenie DCNR:"</string>
-    <string name="radio_info_nr_available" msgid="1321318331361249997">"Dostępne NR:"</string>
-    <string name="radio_info_nr_state" msgid="1337571996788535356">"Stan NR:"</string>
+    <string name="radio_info_endc_available" msgid="2983767110681230019">"Dostępne EN-DC (NSA):"</string>
+    <string name="radio_info_dcnr_restricted" msgid="7147511536420148173">"Ograniczenie DCNR (NSA):"</string>
+    <string name="radio_info_nr_available" msgid="3383388088451237182">"Dostępne NR (NSA):"</string>
+    <string name="radio_info_nr_state" msgid="4158805093187555149">"Stan NR (NSA):"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"Częstotliwość NR:"</string>
     <string name="band_mode_title" msgid="7988822920724576842">"Ustawianie trybu pasma radiowego"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"Ładuję listę pasm…"</string>
diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml
index 5522dcc..ca67787 100644
--- a/res/values-pt-rPT/strings.xml
+++ b/res/values-pt-rPT/strings.xml
@@ -179,7 +179,7 @@
     <string name="network_query_error" msgid="3862515805115145124">"Não foi possível localizar nenhuma rede. Tente novamente."</string>
     <string name="register_on_network" msgid="4194770527833960423">"A registar em <xliff:g id="NETWORK">%s</xliff:g>..."</string>
     <string name="not_allowed" msgid="8541221928746104798">"O cartão SIM não permite uma ligação a esta rede."</string>
-    <string name="connect_later" msgid="1950138106010005425">"De momento, não é possível estabelecer ligação com esta rede. Tente novamente mais tarde."</string>
+    <string name="connect_later" msgid="1950138106010005425">"De momento, não é possível estabelecer ligação com esta rede. Tente mais tarde."</string>
     <string name="registration_done" msgid="5337407023566953292">"Registado na rede."</string>
     <string name="already_auto" msgid="8607068290733079336">"A seleção automática já está ativada."</string>
     <string name="select_automatically" msgid="779750291257872651">"Selecionar automaticamente a rede"</string>
@@ -637,14 +637,8 @@
     <string name="phone_in_ecm_notification_title" msgid="6825016389926367946">"Modo de Chamada de Retorno de Emergência"</string>
     <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="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="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_exit_ecm" msgid="7661603870224398025">"{count,plural, =1{O telemóvel ficará no modo de chamada de retorno de emergência durante um minuto. Enquanto estiver neste modo, não é possível utilizar aplicações que utilizem uma ligação de dados. Pretende sair agora?}other{O telemóvel ficará no modo de chamada de retorno de emergência durante %s minutos. Enquanto estiver neste modo, não é possível utilizar aplicações que utilizem uma ligação de dados. Pretende sair agora?}}"</string>
+    <string name="alert_dialog_not_avaialble_in_ecm" msgid="8717711120099503279">"{count,plural, =1{A ação selecionada não está disponível no modo de chamada de retorno de emergência. O telemóvel ficará neste modo durante um minuto. Pretende sair agora?}other{A ação selecionada não está disponível no modo de chamada de retorno de emergência. O telemóvel ficará neste modo durante %s minutos. Pretende sair agora?}}"</string>
     <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>
     <string name="alert_dialog_yes" msgid="3532525979632841417">"Sim"</string>
@@ -652,10 +646,7 @@
     <string name="alert_dialog_dismiss" msgid="1336356286354517054">"Ignorar"</string>
     <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="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="alert_dialog_exit_ecm_without_data_restriction_hint" msgid="7549850847524907932">"{count,plural, =1{O telemóvel ficará no modo de chamada de retorno de emergência durante um minuto.\nPretende sair agora?}other{O telemóvel ficará no modo de chamada de retorno de emergência durante %s minutos.\nPretende sair agora?}}"</string>
     <string name="voicemail_provider" msgid="4158806657253745294">"Serviço"</string>
     <string name="voicemail_settings" msgid="4451045613238972776">"Configuração"</string>
     <string name="voicemail_number_not_set" msgid="8831561283386938155">"&lt;Não definido&gt;"</string>
@@ -683,7 +674,6 @@
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"Acessibilidade"</string>
     <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"Chamada a partir da rede Wi-Fi de"</string>
     <string name="status_hint_label_wifi_call" msgid="942993035689809853">"Chamada Wi-Fi"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"Toque novamente para abrir"</string>
     <string name="message_decode_error" msgid="1061856591500290887">"Ocorreu um erro durante a descodificação da mensagem."</string>
     <string name="callFailed_cdma_activation" msgid="5392057031552253550">"Um cartão SIM ativou o seu serviço e atualizou as capacidades de roaming do seu telemóvel."</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"Existem demasiadas chamadas ativas. Termine ou intercale as chamadas existentes antes de efetuar uma nova chamada."</string>
@@ -827,7 +817,7 @@
     <string name="callFailed_already_dialing" msgid="7250591188960691086">"Não é possível efetuar uma chamada porque já está a ser efetuada outra chamada."</string>
     <string name="callFailed_already_ringing" msgid="2376603543544289303">"Não pode efetuar uma chamada porque há uma chamada recebida não atendida. Atenda ou rejeite a chamada recebida antes de efetuar uma nova chamada."</string>
     <string name="callFailed_calling_disabled" msgid="5010992739401206283">"Não pode efetuar uma chamada porque as chamadas foram desativadas através da propriedade de sistema ro.telephony.disable-call."</string>
-    <string name="callFailed_too_many_calls" msgid="5379426826618582180">"Não pode efetuar uma chamada porque já estão em curso duas chamadas. Desligue uma das chamadas ou una-as numa conferência antes de efetuar uma nova chamada."</string>
+    <string name="callFailed_too_many_calls" msgid="2761754044990799580">"Não pode efetuar uma chamada porque já estão em curso duas chamadas. Desligue uma das chamadas ou una-as numa conferência antes de efetuar uma nova chamada."</string>
     <string name="supp_service_over_ut_precautions" msgid="2145018231396701311">"Para utilizar o/a <xliff:g id="SUPP_SERVICE">%s</xliff:g>, certifique-se de que os dados móveis estão ativados. Pode alterar esta definição nas definições de rede móvel."</string>
     <string name="supp_service_over_ut_precautions_roaming" msgid="670342104569972327">"Para utilizar o/a <xliff:g id="SUPP_SERVICE">%s</xliff:g>, certifique-se de que os dados móveis e o roaming de dados estão ativados. Pode alterar estas definições nas definições de rede móvel."</string>
     <string name="supp_service_over_ut_precautions_dual_sim" msgid="5166866975550910474">"Para utilizar o/a <xliff:g id="SUPP_SERVICE">%1$s</xliff:g>, certifique-se de que os dados móveis estão ativados para o SIM <xliff:g id="SIM_NUMBER">%2$d</xliff:g>. Pode alterar esta definição nas definições de rede móvel."</string>
@@ -845,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"Tem de reiniciar o dispositivo para alterar esta definição."</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"Reiniciar"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"Cancelar"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"Predefinir eSIM removível"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"Potência do rádio móvel"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"Ver livro de endereços do SIM"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"Ver números autorizados"</string>
@@ -899,6 +890,7 @@
     <string name="radio_info_band_mode_label" msgid="23480556225515290">"Selecionar banda de rádio"</string>
     <string name="radio_info_voice_network_type_label" msgid="2395347336419593265">"Tipo de rede de voz:"</string>
     <string name="radio_info_data_network_type_label" msgid="8886597029237501929">"Tipo de rede de dados:"</string>
+    <string name="radio_info_override_network_type_label" msgid="4176280017221092005">"Substituir tipo de rede:"</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 do anfitrião de ping (www.google.com) IPv4:"</string>
@@ -910,10 +902,10 @@
     <string name="radio_info_smsc_refresh_label" msgid="8409923721451604560">"Atualizar"</string>
     <string name="radio_info_toggle_dns_check_label" msgid="1394078554927787350">"Ativar/desativar verificação de DNS"</string>
     <string name="oem_radio_info_label" msgid="2914167475119997456">"Informações/definições específicas de OEM"</string>
-    <string name="radio_info_endc_available" msgid="4410653375290113436">"EN-DC disponível:"</string>
-    <string name="radio_info_dcnr_restricted" msgid="2469125498066960807">"DCNR restrito:"</string>
-    <string name="radio_info_nr_available" msgid="1321318331361249997">"NR disponível:"</string>
-    <string name="radio_info_nr_state" msgid="1337571996788535356">"Estado NR:"</string>
+    <string name="radio_info_endc_available" msgid="2983767110681230019">"EN-DC disponível (NSA):"</string>
+    <string name="radio_info_dcnr_restricted" msgid="7147511536420148173">"DCNR restrito (NSA):"</string>
+    <string name="radio_info_nr_available" msgid="3383388088451237182">"NR disponível (NSA):"</string>
+    <string name="radio_info_nr_state" msgid="4158805093187555149">"Estado NR (NSA):"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"Frequência NR:"</string>
     <string name="band_mode_title" msgid="7988822920724576842">"Definir modo de banda de rádio"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"A carregar lista de bandas…"</string>
diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml
index ff1b80d..ab6d5d5 100644
--- a/res/values-pt/strings.xml
+++ b/res/values-pt/strings.xml
@@ -637,14 +637,8 @@
     <string name="phone_in_ecm_notification_title" msgid="6825016389926367946">"Modo de retorno de chamada de emergência"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="653972232922670335">"Conexão de dados desativada"</string>
     <string name="phone_in_ecm_notification_complete_time" msgid="7341624337163082759">"Sem conexão de dados até <xliff:g id="COMPLETETIME">%s</xliff:g>"</string>
-    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="5425906903766466743">
-      <item quantity="one">O smartphone ficará no modo de retorno de chamada de emergência por <xliff:g id="COUNT_1">%s</xliff:g> minutos. Nesse modo, não será possível usar apps que utilizem conexão de dados. Quer sair agora?</item>
-      <item quantity="other">O smartphone ficará no modo de retorno de chamada de emergência por <xliff:g id="COUNT_1">%s</xliff:g> minutos. Nesse modo, não será possível usar apps que utilizem conexão de dados. Quer 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 retorno de chamada de emergência. O smartphone ficará nesse modo por <xliff:g id="COUNT_1">%s</xliff:g> minutos. Quer sair agora?</item>
-      <item quantity="other">A ação selecionada não está disponível no modo de retorno de chamada de emergência. O smartphone ficará nesse modo por <xliff:g id="COUNT_1">%s</xliff:g> minutos. Quer sair agora?</item>
-    </plurals>
+    <!-- format error in translation for alert_dialog_exit_ecm (7661603870224398025) -->
+    <!-- format error in translation for alert_dialog_not_avaialble_in_ecm (8717711120099503279) -->
     <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">"Saindo do modo de retorno de chamada de emergência"</string>
     <string name="alert_dialog_yes" msgid="3532525979632841417">"Sim"</string>
@@ -652,10 +646,7 @@
     <string name="alert_dialog_dismiss" msgid="1336356286354517054">"Descartar"</string>
     <string name="phone_in_ecm_call_notification_text_without_data_restriction_hint" msgid="3747860785153531225">"O smartphone está no modo de retorno de chamada de emergência"</string>
     <string name="phone_in_ecm_notification_complete_time_without_data_restriction_hint" msgid="3690292264812050858">"Até <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 smartphone ficará no modo de retorno de chamada de emergência por <xliff:g id="COUNT_1">%s</xliff:g> minuto.\nVocê quer sair agora?</item>
-      <item quantity="other">O smartphone ficará no modo de retorno de chamada de emergência por <xliff:g id="COUNT_1">%s</xliff:g> minutos.\nVocê quer sair agora?</item>
-    </plurals>
+    <!-- format error in translation for alert_dialog_exit_ecm_without_data_restriction_hint (7549850847524907932) -->
     <string name="voicemail_provider" msgid="4158806657253745294">"Serviço"</string>
     <string name="voicemail_settings" msgid="4451045613238972776">"Configuração"</string>
     <string name="voicemail_number_not_set" msgid="8831561283386938155">"&lt;Não definido&gt;"</string>
@@ -683,7 +674,6 @@
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"Acessibilidade"</string>
     <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"Chamada via Wi-Fi de"</string>
     <string name="status_hint_label_wifi_call" msgid="942993035689809853">"Chamada por Wi-Fi"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"Toque novamente para abrir"</string>
     <string name="message_decode_error" msgid="1061856591500290887">"Ocorreu um erro ao decodificar a mensagem."</string>
     <string name="callFailed_cdma_activation" msgid="5392057031552253550">"Um chip ativou seu serviço e atualizou os recursos de roaming do smartphone."</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"Há muitas chamadas ativas. Finalize ou mescle as chamadas existentes antes de fazer uma nova."</string>
@@ -827,7 +817,7 @@
     <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 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="callFailed_too_many_calls" msgid="2761754044990799580">"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>
     <string name="supp_service_over_ut_precautions_roaming" msgid="670342104569972327">"Verifique se os dados móveis e o roaming de dados 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>
     <string name="supp_service_over_ut_precautions_dual_sim" msgid="5166866975550910474">"Verifique se os dados móveis estão ativados para o SIM <xliff:g id="SIM_NUMBER">%2$d</xliff:g> para usar este serviço: <xliff:g id="SUPP_SERVICE">%1$s</xliff:g>. Você pode alterar essa opção nas configurações da rede móvel."</string>
@@ -845,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"Reinicie o dispositivo para alterar essa configuração."</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"Reiniciar"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"Cancelar"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"Definir eSIM removível como padrão"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"Potência do rádio celular"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"Ver o catálogo de endereços do chip"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"Ver números de discagem fixa"</string>
@@ -899,6 +890,7 @@
     <string name="radio_info_band_mode_label" msgid="23480556225515290">"Selecionar frequência de rádio"</string>
     <string name="radio_info_voice_network_type_label" msgid="2395347336419593265">"Tipo de rede de voz:"</string>
     <string name="radio_info_data_network_type_label" msgid="8886597029237501929">"Tipo de rede de dados:"</string>
+    <string name="radio_info_override_network_type_label" msgid="4176280017221092005">"Substituir tipo de rede:"</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">"Dar um ping no nome do host (www.google.com) IPv4:"</string>
@@ -910,10 +902,10 @@
     <string name="radio_info_smsc_refresh_label" msgid="8409923721451604560">"Atualizar"</string>
     <string name="radio_info_toggle_dns_check_label" msgid="1394078554927787350">"Ativar/desativar verificação do DNS"</string>
     <string name="oem_radio_info_label" msgid="2914167475119997456">"Informações/configurações específicas de OEM"</string>
-    <string name="radio_info_endc_available" msgid="4410653375290113436">"EN-DC disponível:"</string>
-    <string name="radio_info_dcnr_restricted" msgid="2469125498066960807">"DCNR restrita:"</string>
-    <string name="radio_info_nr_available" msgid="1321318331361249997">"NR disponível:"</string>
-    <string name="radio_info_nr_state" msgid="1337571996788535356">"Estado do NR:"</string>
+    <string name="radio_info_endc_available" msgid="2983767110681230019">"EN-DC disponível (NSA):"</string>
+    <string name="radio_info_dcnr_restricted" msgid="7147511536420148173">"DCNR restrito (NSA):"</string>
+    <string name="radio_info_nr_available" msgid="3383388088451237182">"NR disponível (NSA):"</string>
+    <string name="radio_info_nr_state" msgid="4158805093187555149">"Estado NR (NSA):"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"Frequência do NR:"</string>
     <string name="band_mode_title" msgid="7988822920724576842">"Definir modo de banda de rádio"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"Carregando a lista de bandas…"</string>
diff --git a/res/values-ro/strings.xml b/res/values-ro/strings.xml
index 326cc52..3f906fd 100644
--- a/res/values-ro/strings.xml
+++ b/res/values-ro/strings.xml
@@ -30,29 +30,29 @@
     <string name="mmiStarted" msgid="9212975136944568623">"Cod MMI pornit"</string>
     <string name="ussdRunning" msgid="1163586813106772717">"Se rulează codul USSD..."</string>
     <string name="mmiCancelled" msgid="5339191899200678272">"Cod MMI anulat"</string>
-    <string name="cancel" msgid="8984206397635155197">"Anulați"</string>
-    <string name="enter_input" msgid="6193628663039958990">"Mesajul USSD trebuie să aibă între <xliff:g id="MIN_LEN">%1$d</xliff:g> și <xliff:g id="MAX_LEN">%2$d</xliff:g> caractere. Încercați din nou."</string>
-    <string name="manageConferenceLabel" msgid="8415044818156353233">"Gestionați teleconferința"</string>
+    <string name="cancel" msgid="8984206397635155197">"Anulează"</string>
+    <string name="enter_input" msgid="6193628663039958990">"Mesajul USSD trebuie să aibă între <xliff:g id="MIN_LEN">%1$d</xliff:g> și <xliff:g id="MAX_LEN">%2$d</xliff:g> caractere. Încearcă din nou."</string>
+    <string name="manageConferenceLabel" msgid="8415044818156353233">"Gestionează teleconferința"</string>
     <string name="ok" msgid="7818974223666140165">"OK"</string>
     <string name="audio_mode_speaker" msgid="243689733219312360">"Difuzor"</string>
     <string name="audio_mode_earpiece" msgid="2823700267171134282">"Casca dispozitivului"</string>
     <string name="audio_mode_wired_headset" msgid="5028010823105817443">"Cască cu fir"</string>
     <string name="audio_mode_bluetooth" msgid="25732183428018809">"Bluetooth"</string>
-    <string name="wait_prompt_str" msgid="5136209532150094910">"Trimiteți următoarele tonuri?\n"</string>
+    <string name="wait_prompt_str" msgid="5136209532150094910">"Trimiți următoarele tonuri?\n"</string>
     <string name="pause_prompt_str" msgid="2308897950360272213">"Se trimit tonuri\n"</string>
-    <string name="send_button" msgid="5070379600779031932">"Trimiteți"</string>
+    <string name="send_button" msgid="5070379600779031932">"Trimite"</string>
     <string name="pause_prompt_yes" msgid="8184132073048369575">"Da"</string>
     <string name="pause_prompt_no" msgid="2145264674774138579">"Nu"</string>
     <string name="wild_prompt_str" msgid="5858910969703305375">"Înlocuiți metacaracterul cu"</string>
     <string name="no_vm_number" msgid="6623853880546176930">"Lipsește numărul mesageriei vocale"</string>
     <string name="no_vm_number_msg" msgid="5165161462411372504">"Niciun număr de mesagerie vocală nu este stocat pe cardul SIM."</string>
-    <string name="add_vm_number_str" msgid="7368168964435881637">"Adăugați numărul"</string>
+    <string name="add_vm_number_str" msgid="7368168964435881637">"Adaugă numărul"</string>
     <string name="voice_number_setting_primary_user_only" msgid="3394706575741912843">"Setările pentru mesagerie vocală pot fi modificate numai de utilizatorul principal."</string>
-    <string name="puk_unlocked" msgid="4627340655215746511">"Cardul dvs. SIM a fost deblocat. Telefonul dvs. se deblochează..."</string>
+    <string name="puk_unlocked" msgid="4627340655215746511">"Cardul tău SIM a fost deblocat. Telefonul tău se deblochează..."</string>
     <string name="label_ndp" msgid="7617392683877410341">"Codul PIN de deblocare a rețelei SIM"</string>
     <string name="label_phoneid" msgid="8775611434123577808">"Cardul SIM a fost blocat pentru operator"</string>
-    <string name="sim_ndp_unlock_text" msgid="7737338355451978338">"Deblocați"</string>
-    <string name="sim_ndp_dismiss_text" msgid="89667342248929777">"Renunțați"</string>
+    <string name="sim_ndp_unlock_text" msgid="7737338355451978338">"Deblochează"</string>
+    <string name="sim_ndp_dismiss_text" msgid="89667342248929777">"Renunță"</string>
     <string name="requesting_unlock" msgid="930512210309437741">"Se solicită deblocarea rețelei..."</string>
     <string name="unlock_failed" msgid="7103543844840661366">"Cererea de deblocare a rețelei a eșuat."</string>
     <string name="unlock_success" msgid="32681089371067565">"Rețeaua a fost deblocată."</string>
@@ -64,25 +64,25 @@
     <string name="apn_settings" msgid="1978652203074756623">"Numele punctelor de acces"</string>
     <string name="settings_label" msgid="9101778088412567956">"Setări de rețea"</string>
     <string name="phone_accounts" msgid="1216879437523774604">"Conturi pentru apelare"</string>
-    <string name="phone_accounts_make_calls_with" msgid="16747814788918145">"Apelați cu"</string>
-    <string name="phone_accounts_make_sip_calls_with" msgid="4691221006731847255">"Dați apeluri SIP cu"</string>
+    <string name="phone_accounts_make_calls_with" msgid="16747814788918145">"Apelează cu"</string>
+    <string name="phone_accounts_make_sip_calls_with" msgid="4691221006731847255">"Dai apeluri SIP cu"</string>
     <string name="phone_accounts_ask_every_time" msgid="6192347582666047168">"Întreabă mai întâi"</string>
     <string name="phone_accounts_default_account_label" msgid="5107598881335931101">"Nicio rețea disponibilă"</string>
     <string name="phone_accounts_settings_header" msgid="6296501692964706536">"Setări"</string>
-    <string name="phone_accounts_choose_accounts" msgid="4748805293314824974">"Alegeți conturile"</string>
+    <string name="phone_accounts_choose_accounts" msgid="4748805293314824974">"Alege conturile"</string>
     <string name="phone_accounts_selection_header" msgid="2945830843104108440">"Conturi telefon"</string>
-    <string name="phone_accounts_add_sip_account" msgid="1437634802033309305">"Adăugați un cont SIP"</string>
-    <string name="phone_accounts_configure_account_settings" msgid="6622119715253196586">"Configurați setările contului"</string>
+    <string name="phone_accounts_add_sip_account" msgid="1437634802033309305">"Adaugă un cont SIP"</string>
+    <string name="phone_accounts_configure_account_settings" msgid="6622119715253196586">"Configurează setările contului"</string>
     <string name="phone_accounts_all_calling_accounts" msgid="1609600743500618823">"Toate conturile pentru apelare"</string>
-    <string name="phone_accounts_all_calling_accounts_summary" msgid="2214134955430107240">"Selectați conturile care pot da apeluri"</string>
+    <string name="phone_accounts_all_calling_accounts_summary" msgid="2214134955430107240">"Selectează conturile care pot da apeluri"</string>
     <string name="wifi_calling" msgid="3650509202851355742">"Apelare prin Wi-Fi"</string>
     <string name="connection_service_default_label" msgid="7332739049855715584">"Serviciu de conectare încorporat"</string>
     <string name="voicemail" msgid="7697769412804195032">"Mesagerie vocală"</string>
     <string name="voicemail_settings_with_label" msgid="4228431668214894138">"Mesagerie vocală (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_abbreviated" msgid="7746778673131551185">"MV:"</string>
-    <string name="make_and_receive_calls" msgid="4868913166494621109">"Inițiați și primiți apeluri"</string>
+    <string name="make_and_receive_calls" msgid="4868913166494621109">"Inițiază și primește apeluri"</string>
     <string name="smart_forwarding_settings_menu" msgid="8850429887958938540">"Redirecționare intuitivă"</string>
-    <string name="smart_forwarding_settings_menu_summary" msgid="5096947726032885325">"Când un număr nu este disponibil, redirecționați mereu apelurile către celălalt număr pe care îl aveți."</string>
+    <string name="smart_forwarding_settings_menu_summary" msgid="5096947726032885325">"Când un număr nu este disponibil, redirecționează mereu apelurile către celălalt număr pe care îl ai."</string>
     <string name="voicemail_notifications_preference_title" msgid="7829238858063382977">"Notificări"</string>
     <string name="cell_broadcast_settings" msgid="8135324242541809924">"Transmisiuni de urgență"</string>
     <string name="call_settings" msgid="3677282690157603818">"Setări pentru apeluri"</string>
@@ -96,7 +96,7 @@
     <string name="sum_loading_settings" msgid="434063780286688775">"Se încarcă setările…"</string>
     <string name="sum_hide_caller_id" msgid="131100328602371933">"Număr ascuns în apelurile de ieșire"</string>
     <string name="sum_show_caller_id" msgid="3571854755324664591">"Numărul afișat în apelurile de ieșire"</string>
-    <string name="sum_default_caller_id" msgid="1767070797135682959">"Utilizați setările prestabilite ale operatorului pentru a vă afișa numărul în apelurile efectuate"</string>
+    <string name="sum_default_caller_id" msgid="1767070797135682959">"Utilizează setările prestabilite ale operatorului pentru a-ți afișa numărul în apelurile efectuate"</string>
     <string name="labelCW" msgid="8449327023861428622">"Apel în așteptare"</string>
     <string name="sum_cw_enabled" msgid="3977308526187139996">"Anunță-mă dacă primesc un apel în timpul unei convorbiri"</string>
     <string name="sum_cw_disabled" msgid="3658094589461768637">"Anunță-mă dacă primesc un apel în timpul unei convorbiri"</string>
@@ -113,22 +113,22 @@
     <string name="messageCFB" msgid="1958017270393563388">"Număr pentru redirecționare dacă este ocupat"</string>
     <string name="sum_cfb_enabled" msgid="332037613072049492">"Se redirecționează la <xliff:g id="PHONENUMBER">{0}</xliff:g>"</string>
     <string name="sum_cfb_disabled" msgid="3589913334164866035">"Dezactivat"</string>
-    <string name="disable_cfb_forbidden" msgid="4831494744351633961">"Operatorul dvs. nu acceptă ca redirecționarea apelurilor să fie dezactivată atunci când telefonul dvs. este ocupat."</string>
+    <string name="disable_cfb_forbidden" msgid="4831494744351633961">"Operatorul tău nu acceptă ca redirecționarea apelurilor să fie dezactivată atunci când telefonul tău este ocupat."</string>
     <string name="labelCFNRy" msgid="3403533792248457946">"Când nu se răspunde"</string>
     <string name="messageCFNRy" msgid="7644434155765359009">"Număr pentru redirecționare dacă nu se răspunde"</string>
     <string name="sum_cfnry_enabled" msgid="3000500837493854799">"Se redirecționează la <xliff:g id="PHONENUMBER">{0}</xliff:g>"</string>
     <string name="sum_cfnry_disabled" msgid="1990563512406017880">"Dezactivat"</string>
-    <string name="disable_cfnry_forbidden" msgid="3174731413216550689">"Operatorul dvs. nu acceptă ca redirecționarea apelurilor să fie dezactivată atunci când telefonul dvs. nu răspunde."</string>
+    <string name="disable_cfnry_forbidden" msgid="3174731413216550689">"Operatorul tău nu acceptă ca redirecționarea apelurilor să fie dezactivată atunci când telefonul tău nu răspunde."</string>
     <string name="labelCFNRc" msgid="4163399350778066013">"Când nu este accesibil"</string>
     <string name="messageCFNRc" msgid="6980340731313007250">"Număr de redirecționare dacă telefonul nu este accesibil"</string>
     <string name="sum_cfnrc_enabled" msgid="1799069234006073477">"Se redirecționează la <xliff:g id="PHONENUMBER">{0}</xliff:g>"</string>
     <string name="sum_cfnrc_disabled" msgid="739289696796917683">"Dezactivat"</string>
-    <string name="disable_cfnrc_forbidden" msgid="775348748084726890">"Operatorul dvs. nu acceptă ca redirecționarea apelurilor să fie dezactivată atunci când telefonul nu este accesibil."</string>
-    <string name="registration_cf_forbidden" msgid="4386482610771190420">"Operatorul dvs. nu acceptă redirecționarea apelurilor."</string>
-    <string name="cdma_call_waiting" msgid="4565070960879673216">"Activați apelurile în așteptare?"</string>
-    <string name="enable_cdma_call_waiting_setting" msgid="5906811747921744307">"În timpul unui apel, veți primi o notificare despre apelurile primite"</string>
-    <string name="enable_cdma_cw" msgid="811047045863422232">"Activați"</string>
-    <string name="disable_cdma_cw" msgid="7119290446496301734">"Anulați"</string>
+    <string name="disable_cfnrc_forbidden" msgid="775348748084726890">"Operatorul tău nu acceptă ca redirecționarea apelurilor să fie dezactivată atunci când telefonul nu este accesibil."</string>
+    <string name="registration_cf_forbidden" msgid="4386482610771190420">"Operatorul tău nu acceptă redirecționarea apelurilor."</string>
+    <string name="cdma_call_waiting" msgid="4565070960879673216">"Activezi apelurile în așteptare?"</string>
+    <string name="enable_cdma_call_waiting_setting" msgid="5906811747921744307">"În timpul unui apel, vei primi o notificare despre apelurile primite"</string>
+    <string name="enable_cdma_cw" msgid="811047045863422232">"Activează"</string>
+    <string name="disable_cdma_cw" msgid="7119290446496301734">"Anulează"</string>
     <string name="cdma_call_waiting_in_ims_on" msgid="6390979414188659218">"Apelurile în așteptare CDMA din IMS sunt activate"</string>
     <string name="cdma_call_waiting_in_ims_off" msgid="1099246114368636334">"Apelurile în așteptare CDMA din IMS sunt dezactivate"</string>
     <string name="updating_title" msgid="6130548922615719689">"Setări pentru apeluri"</string>
@@ -145,26 +145,26 @@
     <string name="stk_cc_ss_to_ss_error" msgid="8297155544652134278">"Schimbat cu o solicitare SS nouă"</string>
     <string name="stk_cc_ss_to_dial_video_error" msgid="4255261231466032505">"Solicitarea SS a fost schimbată cu un apel video"</string>
     <string name="fdn_check_failure" msgid="1833769746374185247">"Setarea Numere cu apelări restricționate din aplicația Telefon este activată. Ca rezultat, unele funcții legate de apelare nu pot fi utilizate."</string>
-    <string name="radio_off_error" msgid="8321564164914232181">"Activați semnalul radio, înainte de a vizualiza aceste setări."</string>
+    <string name="radio_off_error" msgid="8321564164914232181">"Activează semnalul radio, înainte de a vizualiza aceste setări."</string>
     <string name="close_dialog" msgid="1074977476136119408">"OK"</string>
-    <string name="enable" msgid="2636552299455477603">"Activați"</string>
-    <string name="disable" msgid="1122698860799462116">"Dezactivați"</string>
-    <string name="change_num" msgid="6982164494063109334">"Actualizați"</string>
+    <string name="enable" msgid="2636552299455477603">"Activează"</string>
+    <string name="disable" msgid="1122698860799462116">"Dezactivează"</string>
+    <string name="change_num" msgid="6982164494063109334">"Actualizează"</string>
   <string-array name="clir_display_values">
     <item msgid="8477364191403806960">"Rețea prestabilită"</item>
-    <item msgid="6813323051965618926">"Ascundeți numărul"</item>
-    <item msgid="9150034130629852635">"Afișați numărul"</item>
+    <item msgid="6813323051965618926">"Ascunde numărul"</item>
+    <item msgid="9150034130629852635">"Afișează numărul"</item>
   </string-array>
     <string name="vm_changed" msgid="4739599044379692505">"Număr mesagerie vocală modificat."</string>
-    <string name="vm_change_failed" msgid="7877733929455763566">"Nu s-a putut schimba numărul de mesagerie vocală.\nContactați operatorul în cazul în care această problemă persistă."</string>
-    <string name="fw_change_failed" msgid="9179241823460192148">"Nu s-a putut schimba numărul de redirecționare.\nContactați operatorul dvs. în cazul în care această problemă persistă."</string>
-    <string name="fw_get_in_vm_failed" msgid="2432678237218183844">"Nu s-au putut prelua și salva setările actuale ale numărului de redirecționare.\nDoriți să comutați oricum către un nou furnizor de servicii?"</string>
+    <string name="vm_change_failed" msgid="7877733929455763566">"Nu s-a putut schimba numărul de mesagerie vocală.\nContactează operatorul în cazul în care această problemă persistă."</string>
+    <string name="fw_change_failed" msgid="9179241823460192148">"Nu s-a putut schimba numărul de redirecționare.\nContactează operatorul tău în cazul în care această problemă persistă."</string>
+    <string name="fw_get_in_vm_failed" msgid="2432678237218183844">"Nu s-au putut prelua și salva setările actuale ale numărului de redirecționare.\nDorești să treci oricum către un nou furnizor de servicii?"</string>
     <string name="no_change" msgid="3737264882821031892">"Nicio schimbare efectuată."</string>
-    <string name="sum_voicemail_choose_provider" msgid="6750824719081403773">"Alegeți serviciul de mesagerie vocală"</string>
-    <string name="voicemail_default" msgid="6427575113775462077">"Operatorul dvs."</string>
+    <string name="sum_voicemail_choose_provider" msgid="6750824719081403773">"Alege serviciul de mesagerie vocală"</string>
+    <string name="voicemail_default" msgid="6427575113775462077">"Operatorul tău"</string>
     <string name="vm_change_pin_old_pin" msgid="7154951790929009241">"Codul PIN vechi"</string>
     <string name="vm_change_pin_new_pin" msgid="2656200418481288069">"Codul PIN nou"</string>
-    <string name="vm_change_pin_progress_message" msgid="626015184502739044">"Așteptați."</string>
+    <string name="vm_change_pin_progress_message" msgid="626015184502739044">"Așteaptă."</string>
     <string name="vm_change_pin_error_too_short" msgid="1789139338449945483">"Codul PIN nou este prea scurt."</string>
     <string name="vm_change_pin_error_too_long" msgid="3634907034310018954">"Codul PIN nou este prea lung."</string>
     <string name="vm_change_pin_error_too_weak" msgid="8581892952627885719">"Codul PIN nou este prea slab. O parolă puternică nu ar trebui să aibă o secvență continuă sau cifre repetitive."</string>
@@ -176,21 +176,21 @@
     <string name="label_available" msgid="1316084116670821258">"Rețele disponibile"</string>
     <string name="load_networks_progress" msgid="4051433047717401683">"Se caută…"</string>
     <string name="empty_networks_list" msgid="9216418268008582342">"Nicio rețea găsită."</string>
-    <string name="network_query_error" msgid="3862515805115145124">"Nu s-au găsit rețele. Încercați din nou."</string>
+    <string name="network_query_error" msgid="3862515805115145124">"Nu s-au găsit rețele. Încearcă din nou."</string>
     <string name="register_on_network" msgid="4194770527833960423">"Se înregistrează pe <xliff:g id="NETWORK">%s</xliff:g>..."</string>
-    <string name="not_allowed" msgid="8541221928746104798">"Cardul dvs. SIM nu permite conexiunea la această rețea."</string>
-    <string name="connect_later" msgid="1950138106010005425">"Nu se poate efectua conectarea la această rețea chiar acum. Încercați din nou mai târziu."</string>
+    <string name="not_allowed" msgid="8541221928746104798">"Cardul tău SIM nu permite conexiunea la această rețea."</string>
+    <string name="connect_later" msgid="1950138106010005425">"Nu se poate efectua conectarea la această rețea chiar acum. Încearcă din nou mai târziu."</string>
     <string name="registration_done" msgid="5337407023566953292">"Înregistrat în rețea."</string>
     <string name="already_auto" msgid="8607068290733079336">"Deja în selecție automată."</string>
-    <string name="select_automatically" msgid="779750291257872651">"Selectați automat rețeaua"</string>
+    <string name="select_automatically" msgid="779750291257872651">"Selectează automat rețeaua"</string>
     <string name="manual_mode_disallowed_summary" msgid="3970048592179890197">"Indisponibil când este conectat la %1$s"</string>
     <string name="network_select_title" msgid="4117305053881611988">"Rețea"</string>
     <string name="register_automatically" msgid="3907580547590554834">"Înregistrare automată..."</string>
     <string name="preferred_network_mode_title" msgid="5253395265169539830">"Tipul de rețea preferat"</string>
-    <string name="preferred_network_mode_summary" msgid="3787989000044330064">"Schimbați modul de operare a rețelei"</string>
+    <string name="preferred_network_mode_summary" msgid="3787989000044330064">"Schimbă modul de operare a rețelei"</string>
     <string name="preferred_network_mode_dialogtitle" msgid="2781447433514459696">"Tipul de rețea preferat"</string>
     <string name="forbidden_network" msgid="5081729819561333023">"(interzis)"</string>
-    <string name="choose_network_title" msgid="5335832663422653082">"Alegeți o rețea"</string>
+    <string name="choose_network_title" msgid="5335832663422653082">"Alege o rețea"</string>
     <string name="network_disconnected" msgid="8844141106841160825">"Deconectat"</string>
     <string name="network_connected" msgid="2760235679963580224">"Conectat"</string>
     <string name="network_connecting" msgid="160901383582774987">"Se conectează…"</string>
@@ -273,30 +273,30 @@
     <string name="network_operator_category" msgid="4992217193732304680">"Rețea"</string>
     <string name="enhanced_4g_lte_mode_title" msgid="4213420368777080540">"Mod 4G LTE îmbunătățit"</string>
     <!-- no translation found for enhanced_4g_lte_mode_title_variant:0 (7240155150166394308) -->
-    <string name="enhanced_4g_lte_mode_summary" msgid="7725708511804143638">"Folosiți servicii LTE pt. a îmbunătăți comunicări vocale și altele (recomandat)"</string>
-    <string name="enhanced_4g_lte_mode_summary_o2" msgid="2521108446409016542">"Folosiți servicii 4G pentru a îmbunătăți comunicările vocale și altele (recomandat)"</string>
+    <string name="enhanced_4g_lte_mode_summary" msgid="7725708511804143638">"Folosește servicii LTE pt. a îmbunătăți comunicări vocale și altele (recomandat)"</string>
+    <string name="enhanced_4g_lte_mode_summary_o2" msgid="2521108446409016542">"Folosește servicii 4G pentru a îmbunătăți comunicările vocale și altele (recomandat)"</string>
     <!-- no translation found for enhanced_4g_lte_mode_sumary_variant:0 (2943982616649705147) -->
     <!-- no translation found for enhanced_4g_lte_mode_sumary_variant:1 (5262249464504131443) -->
     <!-- no translation found for enhanced_4g_lte_mode_sumary_variant:2 (6356974241850241718) -->
     <string name="data_enabled" msgid="22525832097434368">"Date activate"</string>
-    <string name="data_enable_summary" msgid="696860063456536557">"Permiteți utilizarea datelor"</string>
+    <string name="data_enable_summary" msgid="696860063456536557">"Permite utilizarea datelor"</string>
     <string name="dialog_alert_title" msgid="5260471806940268478">"Atenție"</string>
     <string name="roaming" msgid="1576180772877858949">"Roaming"</string>
-    <string name="roaming_enable" msgid="6853685214521494819">"Conectați-vă la serviciile de date în roaming"</string>
-    <string name="roaming_disable" msgid="8856224638624592681">"Conectați-vă la serviciile de date în roaming"</string>
-    <string name="roaming_reenable_message" msgid="1951802463885727915">"Roamingul de date este dezactivat. Atingeți pentru a-l activa."</string>
-    <string name="roaming_enabled_message" msgid="9022249120750897">"Se pot aplica tarife de roaming. Atingeți pentru a modifica."</string>
+    <string name="roaming_enable" msgid="6853685214521494819">"Conectează-te la serviciile de date în roaming"</string>
+    <string name="roaming_disable" msgid="8856224638624592681">"Conectează-te la serviciile de date în roaming"</string>
+    <string name="roaming_reenable_message" msgid="1951802463885727915">"Roamingul de date este dezactivat. Atinge pentru a-l activa."</string>
+    <string name="roaming_enabled_message" msgid="9022249120750897">"Se pot aplica tarife de roaming. Atinge pentru a modifica."</string>
     <string name="roaming_notification_title" msgid="3590348480688047320">"S-a pierdut conexiunea de date mobile"</string>
     <string name="roaming_on_notification_title" msgid="7451473196411559173">"Roamingul de date este activat"</string>
     <string name="roaming_warning" msgid="7855681468067171971">"Se pot acumula costuri mari."</string>
-    <string name="roaming_check_price_warning" msgid="8212484083990570215">"Consultați furnizorul de rețea în privința prețurilor."</string>
-    <string name="roaming_alert_title" msgid="5689615818220960940">"Permiteți roamingul de date?"</string>
+    <string name="roaming_check_price_warning" msgid="8212484083990570215">"Consultă furnizorul de rețea în privința prețurilor."</string>
+    <string name="roaming_alert_title" msgid="5689615818220960940">"Permiți roamingul de date?"</string>
     <string name="limited_sim_function_notification_title" msgid="612715399099846281">"Funcționalitate SIM limitată"</string>
     <string name="limited_sim_function_with_phone_num_notification_message" msgid="5928988883403677610">"Este posibil ca apelurile și serviciile de date de la <xliff:g id="CARRIER_NAME">%1$s</xliff:g> să fie blocate în timp ce se folosește <xliff:g id="PHONE_NUMBER">%2$s</xliff:g>."</string>
-    <string name="limited_sim_function_notification_message" msgid="5338638075496721160">"Apelurile și serviciile de date de la <xliff:g id="CARRIER_NAME">%1$s</xliff:g> pot fi blocate când folosiți alt card SIM"</string>
+    <string name="limited_sim_function_notification_message" msgid="5338638075496721160">"Apelurile și serviciile de date de la <xliff:g id="CARRIER_NAME">%1$s</xliff:g> pot fi blocate când folosești alt card SIM"</string>
     <string name="sip_accounts_removed_notification_title" msgid="3528076957535736095">"Au fost găsite și eliminate conturi SIP învechite"</string>
-    <string name="sip_accounts_removed_notification_message" msgid="1916856744869791592">"Platforma Android nu mai acceptă apelarea SIP.\nConturile dvs. SIP existente <xliff:g id="REMOVED_SIP_ACCOUNTS">%s</xliff:g> au fost eliminate.\nConfirmați setarea prestabilită pentru apelare a contului."</string>
-    <string name="sip_accounts_removed_notification_action" msgid="3772778402370555562">"Accesați setările"</string>
+    <string name="sip_accounts_removed_notification_message" msgid="1916856744869791592">"Platforma Android nu mai acceptă apelarea SIP.\nConturile tale SIP existente <xliff:g id="REMOVED_SIP_ACCOUNTS">%s</xliff:g> au fost eliminate.\nConfirmă setarea prestabilită pentru apelare a contului."</string>
+    <string name="sip_accounts_removed_notification_action" msgid="3772778402370555562">"Accesează setările"</string>
     <string name="data_usage_title" msgid="8438592133893837464">"Date utilizate de aplicație"</string>
     <string name="data_usage_template" msgid="6287906680674061783">"<xliff:g id="ID_1">%1$s</xliff:g> de date mobile utilizate în intervalul <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="advanced_options_title" msgid="9208195294513520934">"Avansate"</string>
@@ -304,11 +304,11 @@
     <string name="keywords_carrier_settings_euicc" msgid="8540160967922063745">"operator, esim, sim, euicc, schimbare operatori, adăugare operator"</string>
     <string name="carrier_settings_euicc_summary" msgid="2027941166597330117">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> — <xliff:g id="PHONE_NUMBER">%2$s</xliff:g>"</string>
     <string name="mobile_data_settings_title" msgid="7228249980933944101">"Date mobile"</string>
-    <string name="mobile_data_settings_summary" msgid="5012570152029118471">"Accesați datele folosind rețeaua mobilă"</string>
-    <string name="data_usage_disable_mobile" msgid="5669109209055988308">"Dezactivați datele mobile?"</string>
-    <string name="sim_selection_required_pref" msgid="6985901872978341314">"Selectați o opțiune"</string>
-    <string name="sim_change_data_title" msgid="9142726786345906606">"Schimbați cartela SIM de date?"</string>
-    <string name="sim_change_data_message" msgid="3567358694255933280">"Folosiți <xliff:g id="NEW_SIM">%1$s</xliff:g> în loc de <xliff:g id="OLD_SIM">%2$s</xliff:g> pentru datele mobile?"</string>
+    <string name="mobile_data_settings_summary" msgid="5012570152029118471">"Accesează datele folosind rețeaua mobilă"</string>
+    <string name="data_usage_disable_mobile" msgid="5669109209055988308">"Dezactivezi datele mobile?"</string>
+    <string name="sim_selection_required_pref" msgid="6985901872978341314">"Selectează o opțiune"</string>
+    <string name="sim_change_data_title" msgid="9142726786345906606">"Schimbi cartela SIM de date?"</string>
+    <string name="sim_change_data_message" msgid="3567358694255933280">"Folosești <xliff:g id="NEW_SIM">%1$s</xliff:g> în loc de <xliff:g id="OLD_SIM">%2$s</xliff:g> pentru datele mobile?"</string>
     <string name="wifi_calling_settings_title" msgid="5800018845662016507">"Apelare prin Wi-Fi"</string>
     <string name="video_calling_settings_title" msgid="342829454913266078">"Apelare video prin operator"</string>
     <string name="gsm_umts_options" msgid="4968446771519376808">"Opțiuni GSM/UMTS"</string>
@@ -317,7 +317,7 @@
     <string name="throttle_current_usage" msgid="7483859109708658613">"Datele utilizate în perioada curentă"</string>
     <string name="throttle_time_frame" msgid="1813452485948918791">"Perioada de utilizare a datelor"</string>
     <string name="throttle_rate" msgid="7641913901133634905">"Politica ratei de transfer a datelor"</string>
-    <string name="throttle_help" msgid="2624535757028809735">"Aflați mai multe"</string>
+    <string name="throttle_help" msgid="2624535757028809735">"Află mai multe"</string>
     <string name="throttle_status_subtext" msgid="1110276415078236687">"<xliff:g id="USED_0">%1$s</xliff:g> (<xliff:g id="USED_1">%2$d</xliff:g>٪) din <xliff:g id="USED_2">%3$s</xliff:g> perioada maximă\nUrmătoarea perioadă începe în <xliff:g id="USED_3">%4$d</xliff:g> zile (<xliff:g id="USED_4">%5$s</xliff:g>)"</string>
     <string name="throttle_data_usage_subtext" msgid="3185429653996709840">"<xliff:g id="USED_0">%1$s</xliff:g> (<xliff:g id="USED_1">%2$d</xliff:g>٪) din <xliff:g id="USED_2">%3$s</xliff:g> perioadă maximă"</string>
     <string name="throttle_data_rate_reduced_subtext" msgid="8369839346277847725">"<xliff:g id="USED_0">%1$s</xliff:g> maximum depășit\nRata de transfer se reduce la <xliff:g id="USED_1">%2$d</xliff:g> Kb/s"</string>
@@ -355,7 +355,7 @@
     <string name="international_enable" msgid="8943466745792690340">"Știri internaționale activate"</string>
     <string name="international_disable" msgid="4803498658100318265">"Știri internaționale dezactivate"</string>
     <string name="list_language_title" msgid="1850167908665485738">"Limbă"</string>
-    <string name="list_language_summary" msgid="7921756070782277559">"Selectați limba pentru știri"</string>
+    <string name="list_language_summary" msgid="7921756070782277559">"Selectează limba pentru știri"</string>
   <string-array name="list_language_entries">
     <item msgid="2347238508726934281">"Engleză"</item>
     <item msgid="5172468397620875174">"Franceză"</item>
@@ -415,15 +415,15 @@
     <string name="network_lte" msgid="7206879277095094280">"LTE (recomandat)"</string>
     <string name="network_4G" msgid="6800527815504223913">"4G (recomandat)"</string>
     <string name="network_global" msgid="3289646154407617631">"Global"</string>
-    <string name="cdma_system_select_title" msgid="614165233552656431">"Selectați sistemul"</string>
-    <string name="cdma_system_select_summary" msgid="3840420390242060407">"Schimbați modul de roaming CDMA"</string>
-    <string name="cdma_system_select_dialogtitle" msgid="5524639510676501802">"Selectați sistemul"</string>
+    <string name="cdma_system_select_title" msgid="614165233552656431">"Selectează sistemul"</string>
+    <string name="cdma_system_select_summary" msgid="3840420390242060407">"Schimbă modul de roaming CDMA"</string>
+    <string name="cdma_system_select_dialogtitle" msgid="5524639510676501802">"Selectează sistemul"</string>
   <string-array name="cdma_system_select_choices">
     <item msgid="462340042928284921">"Doar domiciliu"</item>
     <item msgid="6058010046783562674">"Automat"</item>
   </string-array>
     <string name="cdma_subscription_title" msgid="3449527179325589434">"Abonament CMDA"</string>
-    <string name="cdma_subscription_summary" msgid="5681152534466169001">"Comutați între RUIM/SIM și NV"</string>
+    <string name="cdma_subscription_summary" msgid="5681152534466169001">"Treci între RUIM/SIM și NV"</string>
     <string name="cdma_subscription_dialogtitle" msgid="8872086335839723980">"abonament"</string>
   <string-array name="cdma_subscription_choices">
     <item msgid="7989486897370727698">"RUIM/SIM"</item>
@@ -433,67 +433,67 @@
     <item msgid="2953825013895327785">"0"</item>
     <item msgid="7970797749269738435">"1"</item>
   </string-array>
-    <string name="cdma_activate_device" msgid="5914720276140097632">"Activați dispozitivul"</string>
-    <string name="cdma_lte_data_service" msgid="359786441782404562">"Configurați serviciul de date"</string>
+    <string name="cdma_activate_device" msgid="5914720276140097632">"Activează dispozitivul"</string>
+    <string name="cdma_lte_data_service" msgid="359786441782404562">"Configurează serviciul de date"</string>
     <string name="carrier_settings_title" msgid="6292869148169850220">"Setări operator"</string>
     <string name="fdn" msgid="2545904344666098749">"Numere apeluri restricționate"</string>
     <string name="fdn_with_label" msgid="6412087553365709494">"Numere pentru apeluri restricționate (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="manage_fdn_list" msgid="3341716430375195441">"Listă NAR"</string>
     <string name="fdn_list_with_label" msgid="1409655283510382556">"Listă NAR (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
-    <string name="fdn_activation" msgid="2178637004710435895">"Activați NAR"</string>
+    <string name="fdn_activation" msgid="2178637004710435895">"Activează NAR"</string>
     <string name="fdn_enabled" msgid="7017355494808056447">"Numerele cu apelări restricționate sunt activate"</string>
     <string name="fdn_disabled" msgid="6696468878037736600">"Numerele pentru apeluri restricționate sunt dezactivate"</string>
-    <string name="enable_fdn" msgid="4830555730418033723">"Activați NAR"</string>
-    <string name="disable_fdn" msgid="3918794950264647541">"Dezactivați NAR"</string>
-    <string name="change_pin2" msgid="3110844547237754871">"Schimbați codul PIN2"</string>
-    <string name="enable_fdn_ok" msgid="5080925177369329827">"Dezactivați NAR"</string>
-    <string name="disable_fdn_ok" msgid="3745475926874838676">"Activați NAR"</string>
-    <string name="sum_fdn" msgid="6152246141642323582">"Gestionați numerele cu apelări restricționate"</string>
-    <string name="sum_fdn_change_pin" msgid="3510994280557335727">"Schimbați codul PIN pentru acces la NAR"</string>
-    <string name="sum_fdn_manage_list" msgid="3311397063233992907">"Gestionați lista numerelor de telefon"</string>
+    <string name="enable_fdn" msgid="4830555730418033723">"Activează NAR"</string>
+    <string name="disable_fdn" msgid="3918794950264647541">"Dezactivează NAR"</string>
+    <string name="change_pin2" msgid="3110844547237754871">"Schimbă codul PIN2"</string>
+    <string name="enable_fdn_ok" msgid="5080925177369329827">"Dezactivează NAR"</string>
+    <string name="disable_fdn_ok" msgid="3745475926874838676">"Activează NAR"</string>
+    <string name="sum_fdn" msgid="6152246141642323582">"Gestionează numerele cu apelări restricționate"</string>
+    <string name="sum_fdn_change_pin" msgid="3510994280557335727">"Schimbă codul PIN pentru acces la NAR"</string>
+    <string name="sum_fdn_manage_list" msgid="3311397063233992907">"Gestionează lista numerelor de telefon"</string>
     <string name="voice_privacy" msgid="7346935172372181951">"Confidențialitate voce"</string>
-    <string name="voice_privacy_summary" msgid="3556460926168473346">"Activați modul avansat de confidențialitate"</string>
+    <string name="voice_privacy_summary" msgid="3556460926168473346">"Activează modul avansat de confidențialitate"</string>
     <string name="tty_mode_option_title" msgid="3843817710032641703">"Mod TTY"</string>
-    <string name="tty_mode_option_summary" msgid="4770510287236494371">"Setați modul TTY"</string>
+    <string name="tty_mode_option_summary" msgid="4770510287236494371">"Setează modul TTY"</string>
     <string name="auto_retry_mode_title" msgid="2985801935424422340">"Reîncercare automată"</string>
-    <string name="auto_retry_mode_summary" msgid="2863919925349511402">"Activați modul Reîncercare automată"</string>
+    <string name="auto_retry_mode_summary" msgid="2863919925349511402">"Activează modul Reîncercare automată"</string>
     <string name="tty_mode_not_allowed_video_call" msgid="6551976083652752815">"Schimbarea modului TTY nu este permisă în timpul unui apel video"</string>
-    <string name="menu_add" msgid="5616487894975773141">"Adăugați o persoană"</string>
-    <string name="menu_edit" msgid="3593856941552460706">"Modificați informațiile despre persoana din agendă"</string>
-    <string name="menu_delete" msgid="6326861853830546488">"Ștergeți persoana din agendă"</string>
-    <string name="menu_dial" msgid="4178537318419450012">"Apelați persoana de contact"</string>
-    <string name="get_pin2" msgid="4221654606863196332">"Introduceți codul PIN2"</string>
+    <string name="menu_add" msgid="5616487894975773141">"Adaugă o persoană"</string>
+    <string name="menu_edit" msgid="3593856941552460706">"Modifică informațiile despre persoana din agendă"</string>
+    <string name="menu_delete" msgid="6326861853830546488">"Șterge persoana din agendă"</string>
+    <string name="menu_dial" msgid="4178537318419450012">"Apelează persoana de contact"</string>
+    <string name="get_pin2" msgid="4221654606863196332">"Introdu codul PIN2"</string>
     <string name="name" msgid="1347432469852527784">"Nume"</string>
     <string name="number" msgid="1564053487748491000">"Număr"</string>
-    <string name="save" msgid="983805790346099749">"Salvați"</string>
-    <string name="add_fdn_contact" msgid="1169713422306640887">"Adăugați un număr cu apelări restricționate"</string>
+    <string name="save" msgid="983805790346099749">"Salvează"</string>
+    <string name="add_fdn_contact" msgid="1169713422306640887">"Adaugă un număr cu apelări restricționate"</string>
     <string name="adding_fdn_contact" msgid="3112531600824361259">"Se adaugă numărul cu apelări restricționate..."</string>
     <string name="fdn_contact_added" msgid="2840016151693394596">"Număr cu apelări restricționate adăugat."</string>
     <string name="edit_fdn_contact" msgid="6030829994819587408">"Modificați numărul cu apelări restricționate"</string>
     <string name="updating_fdn_contact" msgid="6989341376868227150">"Se actualizează numărul cu apelări restricționate..."</string>
     <string name="fdn_contact_updated" msgid="6876330243323118937">"Număr cu apelări restricționate actualizat."</string>
-    <string name="delete_fdn_contact" msgid="7027405651994507077">"Ștergeți numărul cu apelări restricționate"</string>
+    <string name="delete_fdn_contact" msgid="7027405651994507077">"Șterge numărul cu apelări restricționate"</string>
     <string name="deleting_fdn_contact" msgid="6872320570844460428">"Se șterge numărul cu apelări restricționate..."</string>
     <string name="fdn_contact_deleted" msgid="1680714996763848838">"Numărul cu apelări restricționate a fost șters."</string>
-    <string name="pin2_invalid" msgid="2313954262684494442">"NAR nu a fost actualizat, deoarece ați introdus un cod PIN incorect."</string>
+    <string name="pin2_invalid" msgid="2313954262684494442">"NAR nu a fost actualizat, deoarece ai introdus un cod PIN incorect."</string>
     <string name="fdn_invalid_number" msgid="9067189814657840439">"NAR nu a fost actualizat deoarece numărul depășește <xliff:g id="FDN_NUMBER_LIMIT_LENGTH">%d</xliff:g> cifre."</string>
     <string name="pin2_or_fdn_invalid" msgid="7542639487955868181">"NAR nu a fost actualizat. Codul PIN2 a fost incorect sau numărul de telefon a fost respins."</string>
     <string name="fdn_failed" msgid="216592346853420250">"Operațiunea NAR nu a reușit."</string>
     <string name="simContacts_emptyLoading" msgid="4989040293858675483">"Se citește de pe cardul SIM..."</string>
     <string name="simContacts_empty" msgid="1135632055473689521">"Nicio persoană pe cardul SIM."</string>
-    <string name="simContacts_title" msgid="2714029230160136647">"Selectați pentru import"</string>
-    <string name="simContacts_airplaneMode" msgid="4654884030631503808">"Pentru a importa persoane de contact de pe cardul SIM, dezactivați modul Avion."</string>
-    <string name="enable_pin" msgid="967674051730845376">"Activați/dezactivați codul PIN al cardului SIM"</string>
-    <string name="change_pin" msgid="3657869530942905790">"Schimbați codul PIN pentru SIM"</string>
+    <string name="simContacts_title" msgid="2714029230160136647">"Selectează pentru import"</string>
+    <string name="simContacts_airplaneMode" msgid="4654884030631503808">"Pentru a importa persoane de contact de pe cardul SIM, dezactivează modul Avion."</string>
+    <string name="enable_pin" msgid="967674051730845376">"Activează/dezactivează codul PIN al cardului SIM"</string>
+    <string name="change_pin" msgid="3657869530942905790">"Schimbă codul PIN pentru SIM"</string>
     <string name="enter_pin_text" msgid="3182311451978663356">"Codul PIN pentru cardul SIM:"</string>
     <string name="oldPinLabel" msgid="8618515202411987721">"Codul PIN vechi"</string>
     <string name="newPinLabel" msgid="3585899083055354732">"Cod PIN nou"</string>
-    <string name="confirmPinLabel" msgid="7783531218662473778">"Confirmați noul cod PIN"</string>
-    <string name="badPin" msgid="4549286285015892321">"Codul PIN vechi pe care l-ați introdus nu este corect. Încercați din nou."</string>
-    <string name="mismatchPin" msgid="1467254768290323845">"Codurile PIN introduse nu se potrivesc. Încercați din nou."</string>
-    <string name="invalidPin" msgid="7363723429414001979">"Introduceți un cod PIN alcătuit din 4 până la 8 cifre."</string>
-    <string name="disable_sim_pin" msgid="3112303905548613752">"Ștergeți codul PIN pentru SIM"</string>
-    <string name="enable_sim_pin" msgid="445461050748318980">"Setați codul PIN pentru SIM"</string>
+    <string name="confirmPinLabel" msgid="7783531218662473778">"Confirmă noul cod PIN"</string>
+    <string name="badPin" msgid="4549286285015892321">"Codul PIN vechi pe care l-ai introdus nu este corect. Încearcă din nou."</string>
+    <string name="mismatchPin" msgid="1467254768290323845">"Codurile PIN introduse nu se potrivesc. Încearcă din nou."</string>
+    <string name="invalidPin" msgid="7363723429414001979">"Introdu un cod PIN alcătuit din 4 până la 8 cifre."</string>
+    <string name="disable_sim_pin" msgid="3112303905548613752">"Șterge codul PIN pentru SIM"</string>
+    <string name="enable_sim_pin" msgid="445461050748318980">"Setează codul PIN pentru SIM"</string>
     <string name="enable_in_progress" msgid="4135305985717272592">"Se setează codul PIN…"</string>
     <string name="enable_pin_ok" msgid="2877428038280804256">"Cod PIN setat"</string>
     <string name="disable_pin_ok" msgid="888505244389647754">"Cod PIN șters"</string>
@@ -503,19 +503,19 @@
     <string name="enter_pin2_text" msgid="7266379426804295979">"PIN2"</string>
     <string name="oldPin2Label" msgid="4648543187859997203">"Codul PIN2 vechi"</string>
     <string name="newPin2Label" msgid="1840905981784453939">"Cod PIN2 nou"</string>
-    <string name="confirmPin2Label" msgid="4336025914667593762">"Confirmați noul cod PIN2"</string>
-    <string name="badPuk2" msgid="6438182906645832235">"Codul PUK2 nu este corect. Încercați din nou."</string>
-    <string name="badPin2" msgid="2760917538643074635">"Vechiul cod PIN2 nu este corect. Încercați din nou."</string>
-    <string name="mismatchPin2" msgid="4952718725266700631">"Codurile PIN2 nu se potrivesc. Încercați din nou."</string>
-    <string name="invalidPin2" msgid="6467957903056379343">"Introduceți un cod PIN2 format din 4 până la 8 cifre."</string>
-    <string name="invalidPuk2" msgid="713729511903849544">"Introduceți un cod PUK2 format din 8 cifre."</string>
+    <string name="confirmPin2Label" msgid="4336025914667593762">"Confirmă noul cod PIN2"</string>
+    <string name="badPuk2" msgid="6438182906645832235">"Codul PUK2 nu este corect. Încearcă din nou."</string>
+    <string name="badPin2" msgid="2760917538643074635">"Vechiul cod PIN2 nu este corect. Încearcă din nou."</string>
+    <string name="mismatchPin2" msgid="4952718725266700631">"Codurile PIN2 nu se potrivesc. Încearcă din nou."</string>
+    <string name="invalidPin2" msgid="6467957903056379343">"Introdu un cod PIN2 format din 4 până la 8 cifre."</string>
+    <string name="invalidPuk2" msgid="713729511903849544">"Introdu un cod PUK2 format din 8 cifre."</string>
     <string name="pin2_changed" msgid="5710551850481287821">"Codul PIN2 a fost actualizat"</string>
-    <string name="label_puk2_code" msgid="2852217004288085562">"Introduceți codul PUK2"</string>
-    <string name="fdn_enable_puk2_requested" msgid="5793652792131588041">"Parola nu este corectă. Codul PIN2 a fost blocat. Pentru a încerca din nou, schimbați codul PIN2."</string>
-    <string name="puk2_requested" msgid="6992374450720307514">"Parola nu este corectă. Cardul SIM a fost blocat. Introduceți codul PUK2."</string>
+    <string name="label_puk2_code" msgid="2852217004288085562">"Introdu codul PUK2"</string>
+    <string name="fdn_enable_puk2_requested" msgid="5793652792131588041">"Parola nu este corectă. Codul PIN2 a fost blocat. Pentru a încerca din nou, schimbă codul PIN2."</string>
+    <string name="puk2_requested" msgid="6992374450720307514">"Parola nu este corectă. Cardul SIM a fost blocat. Introdu codul PUK2."</string>
     <string name="puk2_blocked" msgid="3131139031779319911">"Codul PUK2 este blocat definitiv."</string>
     <string name="pin2_attempts" msgid="5625178102026453023">\n"V-au rămas <xliff:g id="NUMBER">%d</xliff:g> (de) încercări."</string>
-    <string name="puk2_locked" msgid="6497760825455461057">"Blocat cu PUK2. Contactați furnizorul de servicii pentru a debloca."</string>
+    <string name="puk2_locked" msgid="6497760825455461057">"Blocat cu PUK2. Contactează furnizorul de servicii pentru a debloca."</string>
     <string name="pin2_unblocked" msgid="4481107908727789303">"Codul PIN2 nu mai este blocat"</string>
     <string name="pin2_error_exception" msgid="8116103864600823641">"Eroare de rețea sau de card SIM"</string>
     <string name="doneButton" msgid="7371209609238460207">"Terminat"</string>
@@ -530,21 +530,21 @@
     <string name="card_title_in_call" msgid="8231896539567594265">"În timpul apelului"</string>
     <string name="notification_voicemail_title" msgid="3932876181831601351">"Mesaj vocal nou"</string>
     <string name="notification_voicemail_title_count" msgid="2806950319222327082">"Mesaj vocal nou (<xliff:g id="COUNT">%d</xliff:g>)"</string>
-    <string name="notification_voicemail_text_format" msgid="5720947141702312537">"Apelați <xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g>"</string>
+    <string name="notification_voicemail_text_format" msgid="5720947141702312537">"Apelează <xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g>"</string>
     <string name="notification_voicemail_no_vm_number" msgid="3423686009815186750">"Număr mesagerie vocală necunoscut"</string>
     <string name="notification_network_selection_title" msgid="255595526707809121">"Fără serviciu"</string>
     <string name="notification_network_selection_text" msgid="553288408722427659">"Rețeaua selectată (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) nu este disponibilă"</string>
-    <string name="incall_error_power_off" product="watch" msgid="7191184639454113633">"Activați rețeaua mobilă, dezactivați modul avion sau modul de economisire a bateriei pentru a iniția un apel."</string>
-    <string name="incall_error_power_off" product="default" msgid="8131672264311208673">"Pentru a apela, dezactivați modul Avion."</string>
-    <string name="incall_error_power_off_wfc" msgid="9125661184694727052">"Pentru a apela, dezactivați modul Avion sau conectați-vă la o rețea wireless."</string>
-    <string name="incall_error_power_off_thermal" product="default" msgid="8695809601655300168"><b>"Telefonul este prea fierbinte"</b>\n\n"Nu se poate iniția apelul. Încercați din nou după ce telefonul se răcește.\n\nPuteți, totuși, să inițiați apeluri de urgență."</string>
-    <string name="incall_error_ecm_emergency_only" msgid="5622379058883722080">"Ieșiți din modul de apelare inversă de urgență pentru a efectua un apel care nu este de urgență."</string>
+    <string name="incall_error_power_off" product="watch" msgid="7191184639454113633">"Activează rețeaua mobilă, dezactivează modul avion sau modul de economisire a bateriei pentru a iniția un apel."</string>
+    <string name="incall_error_power_off" product="default" msgid="8131672264311208673">"Pentru a apela, dezactivează modul Avion."</string>
+    <string name="incall_error_power_off_wfc" msgid="9125661184694727052">"Pentru a apela, dezactivează modul Avion sau conectează-te la o rețea wireless."</string>
+    <string name="incall_error_power_off_thermal" product="default" msgid="8695809601655300168"><b>"Telefonul este prea fierbinte"</b>\n\n"Nu se poate iniția apelul. Încearcă din nou după ce telefonul se răcește.\n\nPoți, totuși, să inițiezi apeluri de urgență."</string>
+    <string name="incall_error_ecm_emergency_only" msgid="5622379058883722080">"Ieși din modul de apelare inversă de urgență pentru a efectua un apel care nu este de urgență."</string>
     <string name="incall_error_emergency_only" msgid="8786127461027964653">"Neînregistrat în rețea."</string>
     <string name="incall_error_out_of_service" msgid="1927265196942672791">"Rețeaua mobilă nu este disponibilă."</string>
-    <string name="incall_error_out_of_service_wfc" msgid="4497663185857190885">"Rețeaua mobilă nu este disponibilă. Pentru a apela, conectați-vă la o rețea wireless."</string>
-    <string name="incall_error_no_phone_number_supplied" msgid="8680831089508851894">"Pentru a apela, introduceți un număr valid."</string>
+    <string name="incall_error_out_of_service_wfc" msgid="4497663185857190885">"Rețeaua mobilă nu este disponibilă. Pentru a apela, conectează-te la o rețea wireless."</string>
+    <string name="incall_error_no_phone_number_supplied" msgid="8680831089508851894">"Pentru a apela, introdu un număr valid."</string>
     <string name="incall_error_call_failed" msgid="393508653582682539">"Apelul nu a fost inițiat."</string>
-    <string name="incall_error_cannot_add_call" msgid="5425764862628655443">"Apelul nu poate fi inițiat în acest moment. Puteți lua legătura cu persoana respectivă trimițându-i un mesaj."</string>
+    <string name="incall_error_cannot_add_call" msgid="5425764862628655443">"Apelul nu poate fi inițiat în acest moment. Poți lua legătura cu persoana respectivă trimițându-i un mesaj."</string>
     <string name="incall_error_supp_service_unknown" msgid="8751177117194592623">"Serviciul nu este compatibil"</string>
     <string name="incall_error_supp_service_switch" msgid="5272822448189448479">"Apelurile nu pot fi comutate."</string>
     <string name="incall_error_supp_service_resume" msgid="1276861499306817035">"Nu se poate relua apelul."</string>
@@ -554,50 +554,50 @@
     <string name="incall_error_supp_service_reject" msgid="3044363092441655912">"Apelul nu poate fi respins."</string>
     <string name="incall_error_supp_service_hangup" msgid="836524952243836735">"Apelurile nu pot fi eliberate."</string>
     <string name="incall_error_supp_service_hold" msgid="8535056414643540997">"Apelurile nu pot fi puse în așteptare."</string>
-    <string name="incall_error_wfc_only_no_wireless_network" msgid="5860742792811400109">"Pentru a apela, conectați-vă la o rețea wireless."</string>
-    <string name="incall_error_promote_wfc" msgid="9164896813931363415">"Activați apelarea prin Wi-Fi pentru a iniția un apel."</string>
+    <string name="incall_error_wfc_only_no_wireless_network" msgid="5860742792811400109">"Pentru a apela, conectează-te la o rețea wireless."</string>
+    <string name="incall_error_promote_wfc" msgid="9164896813931363415">"Activează apelarea prin Wi-Fi pentru a iniția un apel."</string>
     <string name="emergency_information_hint" msgid="9208897544917793012">"Informații în caz de urgență"</string>
     <string name="emergency_information_owner_hint" msgid="6256909888049185316">"Proprietar"</string>
-    <string name="emergency_information_confirm_hint" msgid="5109017615894918914">"Atingeți din nou pentru a vedea informațiile"</string>
+    <string name="emergency_information_confirm_hint" msgid="5109017615894918914">"Atinge din nou pentru a vedea informațiile"</string>
     <string name="emergency_enable_radio_dialog_title" msgid="2667568200755388829">"Apel de urgență"</string>
     <string name="single_emergency_number_title" msgid="8413371079579067196">"Număr de urgență"</string>
     <string name="numerous_emergency_numbers_title" msgid="8972398932506755510">"Numere de urgență"</string>
-    <string name="emergency_call_shortcut_hint" msgid="1290485125107779500">"Atingeți din nou pentru a apela <xliff:g id="EMERGENCY_NUMBER">%s</xliff:g>"</string>
+    <string name="emergency_call_shortcut_hint" msgid="1290485125107779500">"Atinge din nou pentru a apela <xliff:g id="EMERGENCY_NUMBER">%s</xliff:g>"</string>
     <string name="emergency_enable_radio_dialog_message" msgid="1695305158151408629">"Se activează semnalul radio..."</string>
     <string name="emergency_enable_radio_dialog_retry" msgid="4329131876852608587">"Fără semnal. Se încearcă din nou..."</string>
     <string name="radio_off_during_emergency_call" msgid="8011154134040481609">"Nu se poate intra în modul avion în timpul unui apel de urgență."</string>
     <string name="dial_emergency_error" msgid="825822413209026039">"Nu se poate apela. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> nu este un număr de urgență."</string>
-    <string name="dial_emergency_empty_error" msgid="2785803395047793634">"Nu se poate apela. Formați un număr de urgență."</string>
+    <string name="dial_emergency_empty_error" msgid="2785803395047793634">"Nu se poate apela. Formează un număr de urgență."</string>
     <string name="dial_emergency_calling_not_available" msgid="6485846193794727823">"Apelurile de urgență nu sunt disponibile."</string>
     <string name="pin_puk_system_user_only" msgid="1045147220686867922">"Numai proprietarul dispozitivului poate să introducă respectivele coduri PIN/PUK."</string>
     <string name="police_type_description" msgid="2819533883972081757">"Poliție"</string>
     <string name="ambulance_type_description" msgid="6798237503553180461">"Ambulanță"</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">"Utilizați tastatura pentru a forma"</string>
-    <string name="onscreenHoldText" msgid="4025348842151665191">"Rețineți"</string>
+    <string name="dialerKeyboardHintText" msgid="1115266533703764049">"Utilizează tastatura pentru a forma"</string>
+    <string name="onscreenHoldText" msgid="4025348842151665191">"Reține"</string>
     <string name="onscreenEndCallText" msgid="6138725377654842757">"Terminat"</string>
     <string name="onscreenShowDialpadText" msgid="658465753816164079">"Tastatură numerică"</string>
-    <string name="onscreenMuteText" msgid="5470306116733843621">"Dezactivați sunetul"</string>
-    <string name="onscreenAddCallText" msgid="9075675082903611677">"Adăugați un apel"</string>
-    <string name="onscreenMergeCallsText" msgid="3692389519611225407">"Îmbinați apelurile"</string>
-    <string name="onscreenSwapCallsText" msgid="2682542150803377991">"Schimbați"</string>
-    <string name="onscreenManageCallsText" msgid="1162047856081836469">"Gestionați apelurile"</string>
+    <string name="onscreenMuteText" msgid="5470306116733843621">"Dezactivează sunetul"</string>
+    <string name="onscreenAddCallText" msgid="9075675082903611677">"Adaugă un apel"</string>
+    <string name="onscreenMergeCallsText" msgid="3692389519611225407">"Îmbină apelurile"</string>
+    <string name="onscreenSwapCallsText" msgid="2682542150803377991">"Schimbă"</string>
+    <string name="onscreenManageCallsText" msgid="1162047856081836469">"Gestionează apelurile"</string>
     <string name="onscreenManageConferenceText" msgid="4700574060601755137">"Gestion. conferința"</string>
     <string name="onscreenAudioText" msgid="7224226735052019986">"Audio"</string>
     <string name="onscreenVideoCallText" msgid="1743992456126258698">"Apel video"</string>
-    <string name="importSimEntry" msgid="3892354284082689894">"Importați"</string>
-    <string name="importAllSimEntries" msgid="2628391505643564007">"Importați-le pe toate"</string>
+    <string name="importSimEntry" msgid="3892354284082689894">"Importă"</string>
+    <string name="importAllSimEntries" msgid="2628391505643564007">"Importă-le pe toate"</string>
     <string name="importingSimContacts" msgid="4995457122107888932">"Se importă persoanele din agenda de pe cardul SIM"</string>
-    <string name="importToFDNfromContacts" msgid="5068664870738407341">"Importați din Agendă"</string>
+    <string name="importToFDNfromContacts" msgid="5068664870738407341">"Importă din Agendă"</string>
     <string name="singleContactImportedMsg" msgid="3619804066300998934">"Persoana de contact a fost importată"</string>
     <string name="failedToImportSingleContactMsg" msgid="228095510489830266">"Persoana de contact nu a fost importată"</string>
     <string name="hac_mode_title" msgid="4127986689621125468">"Aparate auditive"</string>
-    <string name="hac_mode_summary" msgid="7774989500136009881">"Activați compatibilitatea cu aparatele auditive"</string>
+    <string name="hac_mode_summary" msgid="7774989500136009881">"Activează compatibilitatea cu aparatele auditive"</string>
     <string name="rtt_mode_title" msgid="3075948111362818043">"Apel de tipul Text în timp real (TTR)"</string>
-    <string name="rtt_mode_summary" msgid="8631541375609989562">"Permiteți schimbul de mesaje în timpul unui apel vocal"</string>
-    <string name="rtt_mode_more_information" msgid="587500128658756318">"TTR oferă asistență apelanților fără auz, cu deficiențe de auz, care au dizabilități de vorbire sau care au nevoie de mai mult decât de voce.&lt;br&gt; &lt;a href=<xliff:g id="URL">http://support.google.com/mobile?p=telephony_rtt</xliff:g>&gt;Aflați mai multe&lt;/a&gt;\n       &lt;br&gt;&lt;br&gt; - Apelurile RTT sunt salvate ca transcrierea unui mesaj\n       &lt;br&gt; - Serviciul TTR nu este disponibil pentru apelurile video."</string>
-    <string name="no_rtt_when_roaming" msgid="5268008247378355389">"Notă: funcția TTR nu este disponibilă când sunteți în roaming"</string>
+    <string name="rtt_mode_summary" msgid="8631541375609989562">"Permite schimbul de mesaje în timpul unui apel vocal"</string>
+    <string name="rtt_mode_more_information" msgid="587500128658756318">"TTR oferă asistență apelanților fără auz, cu deficiențe de auz, care au dizabilități de vorbire sau care au nevoie de mai mult decât de voce.&lt;br&gt; &lt;a href=<xliff:g id="URL">http://support.google.com/mobile?p=telephony_rtt</xliff:g>&gt;Află mai multe&lt;/a&gt;\n       &lt;br&gt;&lt;br&gt; - Apelurile RTT sunt salvate ca transcrierea unui mesaj\n       &lt;br&gt; - Serviciul TTR nu este disponibil pentru apelurile video."</string>
+    <string name="no_rtt_when_roaming" msgid="5268008247378355389">"Notă: funcția TTR nu este disponibilă când ești în roaming"</string>
   <string-array name="tty_mode_entries">
     <item msgid="3238070884803849303">"TTY dezactivat"</item>
     <item msgid="1449091874731375214">"TTY integral"</item>
@@ -605,60 +605,48 @@
     <item msgid="2131559553795606483">"TTY VCO"</item>
   </string-array>
     <string name="dtmf_tones_title" msgid="7874845461117175236">"Tonuri DTMF"</string>
-    <string name="dtmf_tones_summary" msgid="2294822239899471201">"Setați lungimea tonurilor DTMF"</string>
+    <string name="dtmf_tones_summary" msgid="2294822239899471201">"Setează lungimea tonurilor DTMF"</string>
   <string-array name="dtmf_tone_entries">
     <item msgid="2271798469250155310">"Normală"</item>
     <item msgid="6044210222666533564">"Lung"</item>
   </string-array>
     <string name="network_info_message" msgid="7599413947016532355">"Mesaj de rețea"</string>
     <string name="network_error_message" msgid="4271579424089326618">"Mesaj de eroare"</string>
-    <string name="ota_title_activate" msgid="4049645324841263423">"Activați-vă telefonul"</string>
-    <string name="ota_touch_activate" msgid="838764494319694754">"Pentru a vă activa serviciul de telefonie, trebuie să efectuați un apel special. \n\nDupă ce apăsați „Activați”, ascultați instrucțiunile furnizate pentru a vă activa telefonul."</string>
+    <string name="ota_title_activate" msgid="4049645324841263423">"Activează-ți telefonul"</string>
+    <string name="ota_touch_activate" msgid="838764494319694754">"Pentru a-ți activa serviciul de telefonie, trebuie să efectuezi un apel special. \n\nDupă ce apeși „Activează”, ascultă instrucțiunile furnizate pentru a-ți activa telefonul."</string>
     <string name="ota_hfa_activation_title" msgid="3300556778212729671">"Se activează..."</string>
-    <string name="ota_hfa_activation_dialog_message" msgid="7921718445773342996">"Serviciul de date mobile este în curs de activare pe telefonul dvs.\n\nAcest proces poate dura până la 5 minute."</string>
-    <string name="ota_skip_activation_dialog_title" msgid="7666611236789203797">"Omiteți activarea?"</string>
-    <string name="ota_skip_activation_dialog_message" msgid="6691722887019708713">"Dacă omiteți activarea, nu puteți efectua apeluri și nici nu vă puteți conecta la o rețea de date mobilă (deși vă puteți conecta la rețele Wi-Fi). Până veți activa telefonul, vi se va solicita să-l activați de fiecare dată când îl porniți."</string>
-    <string name="ota_skip_activation_dialog_skip_label" msgid="5908029466817825633">"Omiteți"</string>
-    <string name="ota_activate" msgid="7939695753665438357">"Activați"</string>
+    <string name="ota_hfa_activation_dialog_message" msgid="7921718445773342996">"Serviciul de date mobile este în curs de activare pe telefonul tău.\n\nAcest proces poate dura până la 5 minute."</string>
+    <string name="ota_skip_activation_dialog_title" msgid="7666611236789203797">"Omiți activarea?"</string>
+    <string name="ota_skip_activation_dialog_message" msgid="6691722887019708713">"Dacă omiți activarea, nu poți efectua apeluri și nici nu te poți conecta la o rețea de date mobilă (deși te poți conecta la rețele Wi-Fi). Până vei activa telefonul, ți se va solicita să-l activezi de fiecare dată când îl pornești."</string>
+    <string name="ota_skip_activation_dialog_skip_label" msgid="5908029466817825633">"Omite"</string>
+    <string name="ota_activate" msgid="7939695753665438357">"Activează"</string>
     <string name="ota_title_activate_success" msgid="1272135024761004889">"Telefonul este activat."</string>
     <string name="ota_title_problem_with_activation" msgid="7019745985413368726">"Problemă de activare"</string>
-    <string name="ota_listen" msgid="2772252405488894280">"Urmăriți instrucțiunile rostite până când veți auzi că activarea este finalizată."</string>
+    <string name="ota_listen" msgid="2772252405488894280">"Urmărește instrucțiunile rostite până când vei auzi că activarea este finalizată."</string>
     <string name="ota_speaker" msgid="1086766980329820528">"Difuzor"</string>
     <string name="ota_progress" msgid="8837259285255700132">"Se programează telefonul…"</string>
     <string name="ota_failure" msgid="5674217489921481576">"Telefonul nu a putut fi programat"</string>
-    <string name="ota_successful" msgid="1106825981548107774">"Telefonul dvs. este acum activat. Poate să dureze până la 15 minute până la pornirea serviciului."</string>
-    <string name="ota_unsuccessful" msgid="8531037653803955754">"Telefonul dvs. nu s-a activat. \nVă recomandăm să găsiți o zonă cu acoperire mai bună (lângă fereastră sau afară). \n\nPentru mai multe opțiuni, încercați din nou sau apelați serviciul pentru clienți."</string>
+    <string name="ota_successful" msgid="1106825981548107774">"Telefonul tău este acum activat. Poate să dureze până la 15 minute până la pornirea serviciului."</string>
+    <string name="ota_unsuccessful" msgid="8531037653803955754">"Telefonul tău nu s-a activat. \nÎți recomandăm să găsești o zonă cu acoperire mai bună (lângă fereastră sau afară). \n\nPentru mai multe opțiuni, încearcă din nou sau apelează serviciul pentru clienți."</string>
     <string name="ota_spc_failure" msgid="904092035241370080">"ERORI DE DEPĂȘIRE SPC"</string>
     <string name="ota_call_end" msgid="8657746378290737034">"Înapoi"</string>
-    <string name="ota_try_again" msgid="6914781945599998550">"Încercați din nou"</string>
+    <string name="ota_try_again" msgid="6914781945599998550">"Încearcă din nou"</string>
     <string name="ota_next" msgid="2041016619313475914">"Înainte"</string>
     <string name="ecm_exit_dialog" msgid="4200691880721429078">"EcmExitDialog"</string>
     <string name="phone_entered_ecm_text" msgid="8431238297843035842">"S-a activat modul de apelare inversă de urgență"</string>
     <string name="phone_in_ecm_notification_title" msgid="6825016389926367946">"Mod de apelare inversă de urgență"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="653972232922670335">"Conexiune de date dezactivată"</string>
     <string name="phone_in_ecm_notification_complete_time" msgid="7341624337163082759">"Nicio conexiune de date până la <xliff:g id="COMPLETETIME">%s</xliff:g>"</string>
-    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="5425906903766466743">
-      <item quantity="few">Telefonul va fi în modul Apelare inversă de urgență pentru <xliff:g id="COUNT_1">%s</xliff:g> minute. Când telefonul este în acest mod, nu se poate folosi nicio aplicație care necesită o conexiune de date. Doriți să ieșiți acum?</item>
-      <item quantity="other">Telefonul va fi în modul Apelare inversă de urgență pentru <xliff:g id="COUNT_1">%s</xliff:g> de minute. Când telefonul este în acest mod, nu se poate folosi nicio aplicație care necesită o conexiune de date. Doriți să ieșiți acum?</item>
-      <item quantity="one">Telefonul va fi în modul Apelare inversă de urgență pentru <xliff:g id="COUNT_0">%s</xliff:g> minut. Când telefonul este în acest mod, nu se poate folosi nicio aplicație care necesită o conexiune de date. Doriți să ieșiți acum?</item>
-    </plurals>
-    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="1152682528741457004">
-      <item quantity="few">Acțiunea selectată nu este disponibilă când telefonul este în modul Apelare inversă de urgență. Telefonul va fi în acest mod pentru <xliff:g id="COUNT_1">%s</xliff:g> minute. Doriți să ieșiți acum?</item>
-      <item quantity="other">Acțiunea selectată nu este disponibilă când telefonul este în modul Apelare inversă de urgență. Telefonul va fi în acest mod pentru <xliff:g id="COUNT_1">%s</xliff:g> de minute. Doriți să ieșiți acum?</item>
-      <item quantity="one">Acțiunea selectată nu este disponibilă când telefonul este în modul Apelare inversă de urgență. Telefonul va fi în acest mod pentru <xliff:g id="COUNT_0">%s</xliff:g> minut. Doriți să ieșiți acum?</item>
-    </plurals>
+    <!-- format error in translation for alert_dialog_exit_ecm (7661603870224398025) -->
+    <!-- format error in translation for alert_dialog_not_avaialble_in_ecm (8717711120099503279) -->
     <string name="alert_dialog_in_ecm_call" msgid="1207545603149771978">"Acțiunea selectată nu este disponibilă în timpul efectuării unui apel de urgență."</string>
     <string name="progress_dialog_exiting_ecm" msgid="9159080081676927217">"Se iese din modul Apelare inversă de urgență"</string>
     <string name="alert_dialog_yes" msgid="3532525979632841417">"Da"</string>
     <string name="alert_dialog_no" msgid="1075632654085988420">"Nu"</string>
-    <string name="alert_dialog_dismiss" msgid="1336356286354517054">"Renunțați"</string>
+    <string name="alert_dialog_dismiss" msgid="1336356286354517054">"Renunță"</string>
     <string name="phone_in_ecm_call_notification_text_without_data_restriction_hint" msgid="3747860785153531225">"Telefonul va fi în modul Apelare inversă de urgență"</string>
     <string name="phone_in_ecm_notification_complete_time_without_data_restriction_hint" msgid="3690292264812050858">"Până la <xliff:g id="COMPLETETIME">%s</xliff:g>"</string>
-    <plurals name="alert_dialog_exit_ecm_without_data_restriction_hint" formatted="false" msgid="6477733043040328640">
-      <item quantity="few">Telefonul va fi în modul Apelare inversă de urgență timp de <xliff:g id="COUNT_1">%s</xliff:g> minute.\nDoriți să ieșiți acum?</item>
-      <item quantity="other">Telefonul va fi în modul Apelare inversă de urgență timp de <xliff:g id="COUNT_1">%s</xliff:g> de minute.\nDoriți să ieșiți acum?</item>
-      <item quantity="one">Telefonul va fi în modul Apelare inversă de urgență timp de <xliff:g id="COUNT_0">%s</xliff:g> minut.\nDoriți să ieșiți acum?</item>
-    </plurals>
+    <!-- format error in translation for alert_dialog_exit_ecm_without_data_restriction_hint (7549850847524907932) -->
     <string name="voicemail_provider" msgid="4158806657253745294">"Serviciu"</string>
     <string name="voicemail_settings" msgid="4451045613238972776">"Configurare"</string>
     <string name="voicemail_number_not_set" msgid="8831561283386938155">"&lt;Nesetat&gt;"</string>
@@ -669,42 +657,41 @@
     <string name="selectContact" msgid="1527612842599767382">"selectarea unei persoane din agendă"</string>
     <string name="not_voice_capable" msgid="2819996734252084253">"Apelarea vocală nu este acceptată"</string>
     <string name="description_dial_button" msgid="8614631902795087259">"apelare"</string>
-    <string name="description_dialpad_button" msgid="7395114120463883623">"afișați tastatura numerică"</string>
+    <string name="description_dialpad_button" msgid="7395114120463883623">"afișează tastatura numerică"</string>
     <string name="pane_title_emergency_dialpad" msgid="3627372514638694401">"Tastatură pentru apeluri de urgență"</string>
     <string name="voicemail_visual_voicemail_switch_title" msgid="6610414098912832120">"Mesagerie vocală vizuală"</string>
-    <string name="voicemail_set_pin_dialog_title" msgid="7005128605986960003">"Setați codul PIN"</string>
-    <string name="voicemail_change_pin_dialog_title" msgid="4633077715231764435">"Schimbați codul PIN"</string>
+    <string name="voicemail_set_pin_dialog_title" msgid="7005128605986960003">"Setează codul PIN"</string>
+    <string name="voicemail_change_pin_dialog_title" msgid="4633077715231764435">"Schimbă codul PIN"</string>
     <string name="preference_category_ringtone" msgid="8787281191375434976">"Ton de apel și vibrare"</string>
     <string name="pstn_connection_service_label" msgid="9200102709997537069">"Carduri SIM încorporate"</string>
-    <string name="enable_video_calling_title" msgid="7246600931634161830">"Activați apelurile video"</string>
-    <string name="enable_video_calling_dialog_msg" msgid="7141478720386203540">"Pentru a activa apelarea video, trebuie să activați Modul 4G LTE îmbunătățit în setările pentru rețea."</string>
+    <string name="enable_video_calling_title" msgid="7246600931634161830">"Activează apelurile video"</string>
+    <string name="enable_video_calling_dialog_msg" msgid="7141478720386203540">"Pentru a activa apelarea video, trebuie să activezi Modul 4G LTE îmbunătățit în setările pentru rețea."</string>
     <string name="enable_video_calling_dialog_settings" msgid="8697890611305307110">"Setări de rețea"</string>
-    <string name="enable_video_calling_dialog_close" msgid="4298929725917045270">"Închideți"</string>
+    <string name="enable_video_calling_dialog_close" msgid="4298929725917045270">"Închide"</string>
     <string name="sim_label_emergency_calls" msgid="9078241989421522310">"Apeluri de urgență"</string>
     <string name="sim_description_emergency_calls" msgid="5146872803938897296">"Numai apeluri de urgență"</string>
     <string name="sim_description_default" msgid="7474671114363724971">"Cardul SIM, slotul: <xliff:g id="SLOT_ID">%s</xliff:g>"</string>
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"Accesibilitate"</string>
     <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"Apel prin Wi-Fi de la"</string>
     <string name="status_hint_label_wifi_call" msgid="942993035689809853">"Apel prin Wi-Fi"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"Atingeți din nou pentru a deschide"</string>
     <string name="message_decode_error" msgid="1061856591500290887">"A apărut o eroare la decodificarea mesajului."</string>
     <string name="callFailed_cdma_activation" msgid="5392057031552253550">"Un card SIM a activat serviciul și a actualizat funcțiile de roaming ale telefonului."</string>
-    <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"Prea multe apeluri active. Încheiați sau îmbinați apeluri existente înainte de a iniția unul nou."</string>
-    <string name="callFailed_imei_not_accepted" msgid="7257903653685147251">"Nu v-ați conectat. Inserați un card SIM valid."</string>
+    <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"Prea multe apeluri active. Încheie sau îmbină apeluri existente înainte de a iniția unul nou."</string>
+    <string name="callFailed_imei_not_accepted" msgid="7257903653685147251">"Nu te-ai conectat. Inserează un card SIM valid."</string>
     <string name="callFailed_wifi_lost" msgid="1788036730589163141">"Conexiunea Wi-Fi s-a pierdut. Apelul a fost încheiat."</string>
     <string name="dialFailed_low_battery" msgid="6857904237423407056">"Apelul video nu a putut fi inițiat din cauza epuizării bateriei."</string>
     <string name="callFailed_low_battery" msgid="4056828320214416182">"Apelul video s-a încheiat din cauza epuizării bateriei."</string>
     <string name="callFailed_emergency_call_over_wfc_not_available" msgid="5944309590693432042">"Apelurile de urgență inițiate prin apelarea prin Wi-Fi nu sunt disponibile în această locație."</string>
     <string name="callFailed_wfc_service_not_available_in_this_location" msgid="3624536608369524988">"Apelarea prin Wi-fi nu este disponibilă în această locație."</string>
-    <string name="change_pin_title" msgid="3564254326626797321">"Schimbați codul PIN pentru mesageria vocală"</string>
-    <string name="change_pin_continue_label" msgid="5177011752453506371">"Continuați"</string>
-    <string name="change_pin_cancel_label" msgid="2301711566758827936">"Anulați"</string>
+    <string name="change_pin_title" msgid="3564254326626797321">"Schimbă codul PIN pentru mesageria vocală"</string>
+    <string name="change_pin_continue_label" msgid="5177011752453506371">"Continuă"</string>
+    <string name="change_pin_cancel_label" msgid="2301711566758827936">"Anulează"</string>
     <string name="change_pin_ok_label" msgid="6861082678817785330">"OK"</string>
-    <string name="change_pin_enter_old_pin_header" msgid="853151335217594829">"Confirmați vechiul cod PIN"</string>
-    <string name="change_pin_enter_old_pin_hint" msgid="8801292976275169367">"Introduceți codul PIN pentru mesageria vocală pentru a continua."</string>
-    <string name="change_pin_enter_new_pin_header" msgid="4739465616733486118">"Setați un cod PIN nou"</string>
+    <string name="change_pin_enter_old_pin_header" msgid="853151335217594829">"Confirmă vechiul cod PIN"</string>
+    <string name="change_pin_enter_old_pin_hint" msgid="8801292976275169367">"Introdu codul PIN pentru mesageria vocală pentru a continua."</string>
+    <string name="change_pin_enter_new_pin_header" msgid="4739465616733486118">"Setează un cod PIN nou"</string>
     <string name="change_pin_enter_new_pin_hint" msgid="2326038476516364210">"Codul PIN trebuie să aibă între <xliff:g id="MIN">%1$d</xliff:g> - <xliff:g id="MAX">%2$d</xliff:g> cifre."</string>
-    <string name="change_pin_confirm_pin_header" msgid="2606303906320705726">"Confirmați codul PIN"</string>
+    <string name="change_pin_confirm_pin_header" msgid="2606303906320705726">"Confirmă codul PIN"</string>
     <string name="change_pin_confirm_pins_dont_match" msgid="305164501222587215">"Codurile PIN nu corespund"</string>
     <string name="change_pin_succeeded" msgid="2504705600693014403">"Codul PIN pentru mesageria vocală a fost actualizat"</string>
     <string name="change_pin_system_error" msgid="7772788809875146873">"Nu s-a putut seta codul PIN"</string>
@@ -712,21 +699,21 @@
     <string name="mobile_data_status_roaming_turned_on_subtext" msgid="5615757897768777865">"Roamingul de date este activat."</string>
     <string name="mobile_data_status_roaming_without_plan_subtext" msgid="6536671968072284677">"În prezent, se folosește roaming. Este necesar un abonament de date."</string>
     <string name="mobile_data_status_roaming_with_plan_subtext" msgid="2576177169108123095">"În prezent, se folosește roaming. Abonamentul de date este activ."</string>
-    <string name="mobile_data_status_no_plan_subtext" msgid="170331026419263657">"Ați epuizat abonamentul de date mobile."</string>
-    <string name="mobile_data_activate_prepaid" msgid="4276738964416795596">"Ați epuizat abonamentul de date mobile."</string>
-    <string name="mobile_data_activate_prepaid_summary" msgid="6846085278531605925">"Adăugați date mobile prin <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
+    <string name="mobile_data_status_no_plan_subtext" msgid="170331026419263657">"Ai epuizat abonamentul de date mobile."</string>
+    <string name="mobile_data_activate_prepaid" msgid="4276738964416795596">"Ai epuizat abonamentul de date mobile."</string>
+    <string name="mobile_data_activate_prepaid_summary" msgid="6846085278531605925">"Adaugă date mobile prin <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
     <string name="mobile_data_activate_roaming_plan" msgid="922290995866269366">"Niciun abonament de roaming"</string>
-    <string name="mobile_data_activate_roaming_plan_summary" msgid="5379228493306235969">"Adăugați un abonament de roaming prin <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
-    <string name="mobile_data_activate_footer" msgid="7895874069807204548">"Puteți adăuga un abonament de date mobile sau de roaming prin operatorul dvs., <xliff:g id="PROVIDER_NAME">%s</xliff:g>."</string>
-    <string name="mobile_data_activate_diag_title" msgid="5401741936224757312">"Adăugați date?"</string>
-    <string name="mobile_data_activate_diag_message" msgid="3527260988020415441">"Poate fi necesar să adăugați date prin <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
-    <string name="mobile_data_activate_button" msgid="1139792516354374612">"ADĂUGAȚI DATE"</string>
-    <string name="mobile_data_activate_cancel_button" msgid="3530174817572005860">"ANULAȚI"</string>
+    <string name="mobile_data_activate_roaming_plan_summary" msgid="5379228493306235969">"Adaugă un abonament de roaming prin <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
+    <string name="mobile_data_activate_footer" msgid="7895874069807204548">"Poți adăuga un abonament de date mobile sau de roaming prin operatorul tău, <xliff:g id="PROVIDER_NAME">%s</xliff:g>."</string>
+    <string name="mobile_data_activate_diag_title" msgid="5401741936224757312">"Adaugi date?"</string>
+    <string name="mobile_data_activate_diag_message" msgid="3527260988020415441">"Poate fi necesar să adaugi date prin <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
+    <string name="mobile_data_activate_button" msgid="1139792516354374612">"ADAUGĂ DATE"</string>
+    <string name="mobile_data_activate_cancel_button" msgid="3530174817572005860">"ANULEAZĂ"</string>
     <string name="clh_card_title_call_ended_txt" msgid="5977978317527299698">"Apel încheiat"</string>
     <string name="clh_callFailed_powerOff_txt" msgid="8279934912560765361">"Modul Avion este activat"</string>
     <string name="clh_callFailed_simError_txt" msgid="5128538525762326413">"Nu se poate accesa cardul SIM"</string>
     <string name="clh_incall_error_out_of_service_txt" msgid="2736010617446749869">"Rețeaua mobilă nu este disponibilă"</string>
-    <string name="clh_callFailed_unassigned_number_txt" msgid="141967660286695682">"A apărut o problemă legată de numărul de telefon pe care încercați să-l apelați. Cod de eroare 1."</string>
+    <string name="clh_callFailed_unassigned_number_txt" msgid="141967660286695682">"A apărut o problemă legată de numărul de telefon pe care încerci să-l apelezi. Cod de eroare 1."</string>
     <string name="clh_callFailed_no_route_to_destination_txt" msgid="4805015149822352308">"Nu s-a finalizat apelul. Cod de eroare 3."</string>
     <string name="clh_callFailed_channel_unacceptable_txt" msgid="4062754579408613021">"Nu s-a finalizat apelul. Cod de eroare 6."</string>
     <string name="clh_callFailed_operator_determined_barring_txt" msgid="4202077821465974286">"Nu s-a finalizat apelul. Cod de eroare 8."</string>
@@ -779,36 +766,36 @@
     <string name="sum_call_barring_enabled" msgid="5184331188926370824">"Activat"</string>
     <string name="sum_call_barring_disabled" msgid="5699448000600153096">"Dezactivat"</string>
     <string name="call_barring_baoc" msgid="7400892586336429326">"Toate apelurile efectuate"</string>
-    <string name="call_barring_baoc_enabled" msgid="3131509193386668182">"Dezactivați blocarea tuturor apelurilor efectuate?"</string>
-    <string name="call_barring_baoc_disabled" msgid="8534224684091141509">"Blocați toate apelurile efectuate?"</string>
+    <string name="call_barring_baoc_enabled" msgid="3131509193386668182">"Dezactivezi blocarea tuturor apelurilor efectuate?"</string>
+    <string name="call_barring_baoc_disabled" msgid="8534224684091141509">"Blochezi toate apelurile efectuate?"</string>
     <string name="call_barring_baoic" msgid="8668125428666851665">"Apeluri internaționale efectuate"</string>
-    <string name="call_barring_baoic_enabled" msgid="1203758092657630123">"Dezactivați blocarea apelurilor internaționale efectuate?"</string>
-    <string name="call_barring_baoic_disabled" msgid="5656889339002997449">"Blocați apelurile internaționale efectuate?"</string>
+    <string name="call_barring_baoic_enabled" msgid="1203758092657630123">"Dezactivezi blocarea apelurilor internaționale efectuate?"</string>
+    <string name="call_barring_baoic_disabled" msgid="5656889339002997449">"Blochezi apelurile internaționale efectuate?"</string>
     <string name="call_barring_baoicr" msgid="8566167764432343487">"Roaming pentru apeluri internaționale efectuate"</string>
-    <string name="call_barring_baoicr_enabled" msgid="1615324165512798478">"Dezactivați blocarea apelurilor internaționale efectuate prin roaming?"</string>
-    <string name="call_barring_baoicr_disabled" msgid="172010175248142831">"Blocați apelurile internaționale efectuate prin roaming?"</string>
+    <string name="call_barring_baoicr_enabled" msgid="1615324165512798478">"Dezactivezi blocarea apelurilor internaționale efectuate prin roaming?"</string>
+    <string name="call_barring_baoicr_disabled" msgid="172010175248142831">"Blochează apelurile internaționale efectuate prin roaming?"</string>
     <string name="call_barring_baic" msgid="7941393541678658566">"Toate primite"</string>
-    <string name="call_barring_baic_enabled" msgid="4357332358020337470">"Dezactivați blocarea tuturor apelurilor primite?"</string>
-    <string name="call_barring_baic_disabled" msgid="2355945245938240958">"Blocați toate apelurile primite?"</string>
+    <string name="call_barring_baic_enabled" msgid="4357332358020337470">"Dezactivezi blocarea tuturor apelurilor primite?"</string>
+    <string name="call_barring_baic_disabled" msgid="2355945245938240958">"Blochezi toate apelurile primite?"</string>
     <string name="call_barring_baicr" msgid="8712249337313034226">"Roaming pentru apeluri internaționale primite"</string>
-    <string name="call_barring_baicr_enabled" msgid="64774270234828175">"Dezactivați blocarea toate apelurile internaționale primite prin roaming?"</string>
-    <string name="call_barring_baicr_disabled" msgid="3488129262744027262">"Blocați roamingul pentru apeluri internaționale primite?"</string>
-    <string name="call_barring_deactivate_all" msgid="7837931580047157328">"Dezactivați tot"</string>
-    <string name="call_barring_deactivate_all_description" msgid="4474119585042121604">"Dezactivați toate setările de restricționare a apelurilor"</string>
+    <string name="call_barring_baicr_enabled" msgid="64774270234828175">"Dezactivezi blocarea tuturor apelurilor internaționale primite prin roaming?"</string>
+    <string name="call_barring_baicr_disabled" msgid="3488129262744027262">"Blochează roamingul pentru apeluri internaționale primite?"</string>
+    <string name="call_barring_deactivate_all" msgid="7837931580047157328">"Dezactivează tot"</string>
+    <string name="call_barring_deactivate_all_description" msgid="4474119585042121604">"Dezactivează toate setările de restricționare a apelurilor"</string>
     <string name="call_barring_deactivate_success" msgid="3545644320298275337">"Restricționarea apelurilor este dezactivată"</string>
-    <string name="call_barring_change_pwd" msgid="1730691950940338387">"Schimbați parola"</string>
-    <string name="call_barring_change_pwd_description" msgid="1274245130382054227">"Schimbați parola pentru restricționarea apelurilor"</string>
+    <string name="call_barring_change_pwd" msgid="1730691950940338387">"Schimbă parola"</string>
+    <string name="call_barring_change_pwd_description" msgid="1274245130382054227">"Schimbă parola pentru restricționarea apelurilor"</string>
     <string name="call_barring_change_pwd_description_disabled" msgid="2911647051915343920">"Nu se poate schimba parola pentru restricționarea apelurilor"</string>
     <string name="call_barring_pwd_not_match" msgid="7638198747579019826">"Parolele nu se potrivesc"</string>
-    <string name="call_barring_right_pwd_number" msgid="3860630926460851330">"Introduceți o parolă cu 4 cifre"</string>
+    <string name="call_barring_right_pwd_number" msgid="3860630926460851330">"Introdu o parolă cu 4 cifre"</string>
     <string name="call_barring_change_pwd_success" msgid="1837437691277936903">"Parola a fost modificată"</string>
     <string name="call_barring_old_pwd" msgid="5500085633281388281">"Parolă veche"</string>
     <string name="call_barring_new_pwd" msgid="2515524903813227732">"Parolă nouă"</string>
-    <string name="call_barring_confirm_pwd" msgid="7552526161616461858">"Confirmați parola"</string>
-    <string name="messageCallBarring" msgid="5537730400652466912">"Introduceți parola"</string>
+    <string name="call_barring_confirm_pwd" msgid="7552526161616461858">"Confirmă parola"</string>
+    <string name="messageCallBarring" msgid="5537730400652466912">"Introdu parola"</string>
     <string name="call_barring_settings" msgid="4616607285790258919">"Setări de restricționare a apelurilor"</string>
-    <string name="callFailed_NetworkBusy" msgid="5437103975842913681">"Rețeaua este ocupată. Încercați să apelați din nou mai târziu."</string>
-    <string name="callFailed_NetworkCongested" msgid="6801283142342775380">"Rețeaua este aglomerată. Contactați operatorul de telefonie mobilă pentru a cere asistență."</string>
+    <string name="callFailed_NetworkBusy" msgid="5437103975842913681">"Rețeaua este ocupată. Încearcă să apelezi din nou mai târziu."</string>
+    <string name="callFailed_NetworkCongested" msgid="6801283142342775380">"Rețeaua este aglomerată. Contactează operatorul de telefonie mobilă pentru a cere asistență."</string>
     <string name="supp_service_notification_call_deflected" msgid="4980942818105909813">"Apelul a fost deviat."</string>
     <string name="supp_service_notification_call_forwarded" msgid="7102930311735433088">"Apelul a fost redirecționat."</string>
     <string name="supp_service_notification_call_waiting" msgid="4577403881609445324">"Apelul este în așteptare."</string>
@@ -824,34 +811,35 @@
     <string name="supp_service_call_resumed" msgid="3786864005920743546">"S-a reluat apelul."</string>
     <string name="supp_service_deflected_call" msgid="7565979024562921707">"Apelul a fost deviat."</string>
     <string name="supp_service_forwarded_call" msgid="6475776013771821457">"Apel redirecționat"</string>
-    <string name="supp_service_conference_call" msgid="4004193534408317148">"Vă conectați la conferința telefonică."</string>
+    <string name="supp_service_conference_call" msgid="4004193534408317148">"Te conectezi la conferința telefonică."</string>
     <string name="supp_service_held_call_released" msgid="2847835124639112410">"Apelul în așteptare a fost deconectat."</string>
     <string name="callFailed_otasp_provisioning_in_process" msgid="3345666183602879326">"Nu se poate iniția un apel, deoarece, momentan, are loc provizionarea dispozitivului."</string>
     <string name="callFailed_already_dialing" msgid="7250591188960691086">"Nu se poate iniția un apel când se efectuează deja alt apel."</string>
-    <string name="callFailed_already_ringing" msgid="2376603543544289303">"Nu se poate iniția un apel când primiți un apel la care nu ați răspuns. Răspundeți sau respingeți apelul primit înainte de a iniția un apel nou."</string>
+    <string name="callFailed_already_ringing" msgid="2376603543544289303">"Nu se poate iniția un apel când primești un apel la care nu ai răspuns. Răspunde sau respinge apelul primit înainte de a iniția un apel nou."</string>
     <string name="callFailed_calling_disabled" msgid="5010992739401206283">"Nu se poate iniția un apel deoarece apelarea a fost dezactivată folosindu-se funcția de sistem ro.telephony.disable-call."</string>
-    <string name="callFailed_too_many_calls" msgid="5379426826618582180">"Nu se poate iniția un apel când există deja două apeluri în desfășurare. Deconectați unul dintre ele sau îmbinați-le într-o conferință înainte de a iniția un apel nou."</string>
-    <string name="supp_service_over_ut_precautions" msgid="2145018231396701311">"Pentru a folosi <xliff:g id="SUPP_SERVICE">%s</xliff:g>, datele mobile trebuie să fie activate. Puteți modifica acest lucru în setările rețelei mobile."</string>
-    <string name="supp_service_over_ut_precautions_roaming" msgid="670342104569972327">"Pentru a folosi <xliff:g id="SUPP_SERVICE">%s</xliff:g>, datele mobile și roamingul de date trebuie să fie activate. Puteți modifica acest lucru în setările rețelei mobile."</string>
-    <string name="supp_service_over_ut_precautions_dual_sim" msgid="5166866975550910474">"Pentru a folosi <xliff:g id="SUPP_SERVICE">%1$s</xliff:g>, datele mobile trebuie să fie activate pentru cardul SIM <xliff:g id="SIM_NUMBER">%2$d</xliff:g>. Puteți modifica acest lucru în setările rețelei mobile."</string>
-    <string name="supp_service_over_ut_precautions_roaming_dual_sim" msgid="6627654855191817965">"Pentru a folosi <xliff:g id="SUPP_SERVICE">%1$s</xliff:g>, datele mobile și roamingul de date trebuie să fie activate pentru cardul SIM <xliff:g id="SIM_NUMBER">%2$d</xliff:g>. Puteți modifica acest lucru în setările rețelei mobile."</string>
-    <string name="supp_service_over_ut_precautions_dialog_dismiss" msgid="5934541487903081652">"Închideți"</string>
-    <string name="radio_info_data_connection_enable" msgid="6183729739783252840">"Activați conexiunea de date"</string>
-    <string name="radio_info_data_connection_disable" msgid="6404751291511368706">"Dezactivați conexiunea de date"</string>
+    <string name="callFailed_too_many_calls" msgid="2761754044990799580">"Nu se poate iniția un apel când există deja două apeluri în desfășurare. Deconectează unul dintre ele sau îmbină-le într-o conferință înainte de a iniția un apel nou."</string>
+    <string name="supp_service_over_ut_precautions" msgid="2145018231396701311">"Pentru a folosi <xliff:g id="SUPP_SERVICE">%s</xliff:g>, datele mobile trebuie să fie activate. Poți modifica acest lucru în setările rețelei mobile."</string>
+    <string name="supp_service_over_ut_precautions_roaming" msgid="670342104569972327">"Pentru a folosi <xliff:g id="SUPP_SERVICE">%s</xliff:g>, datele mobile și roamingul de date trebuie să fie activate. Poți modifica acest lucru în setările rețelei mobile."</string>
+    <string name="supp_service_over_ut_precautions_dual_sim" msgid="5166866975550910474">"Pentru a folosi <xliff:g id="SUPP_SERVICE">%1$s</xliff:g>, datele mobile trebuie să fie activate pentru cardul SIM <xliff:g id="SIM_NUMBER">%2$d</xliff:g>. Poți modifica acest lucru în setările rețelei mobile."</string>
+    <string name="supp_service_over_ut_precautions_roaming_dual_sim" msgid="6627654855191817965">"Pentru a folosi <xliff:g id="SUPP_SERVICE">%1$s</xliff:g>, datele mobile și roamingul de date trebuie să fie activate pentru cardul SIM <xliff:g id="SIM_NUMBER">%2$d</xliff:g>. Poți modifica acest lucru în setările rețelei mobile."</string>
+    <string name="supp_service_over_ut_precautions_dialog_dismiss" msgid="5934541487903081652">"Închide"</string>
+    <string name="radio_info_data_connection_enable" msgid="6183729739783252840">"Activează conexiunea de date"</string>
+    <string name="radio_info_data_connection_disable" msgid="6404751291511368706">"Dezactivează conexiunea de date"</string>
     <string name="volte_provisioned_switch_string" msgid="4812874990480336178">"Oferit de VoLTE"</string>
     <string name="vt_provisioned_switch_string" msgid="8295542122512195979">"Apelarea video este configurată"</string>
     <string name="wfc_provisioned_switch_string" msgid="3835004640321078988">"Apelarea prin Wi-Fi este configurată"</string>
     <string name="eab_provisioned_switch_string" msgid="4449676720736033035">"Setări configurate pentru EAB/prezență"</string>
     <string name="cbrs_data_switch_string" msgid="6060356430838077653">"Date CBRS"</string>
-    <string name="dsds_switch_string" msgid="7564769822086764796">"Activați DSDS"</string>
-    <string name="dsds_dialog_title" msgid="8494569893941847575">"Reporniți dispozitivul?"</string>
-    <string name="dsds_dialog_message" msgid="4047480385678538850">"Trebuie să reporniți dispozitivul pentru a modifica setarea."</string>
-    <string name="dsds_dialog_confirm" msgid="9032004888134129885">"Reporniți"</string>
-    <string name="dsds_dialog_cancel" msgid="3245958947099586655">"Anulați"</string>
+    <string name="dsds_switch_string" msgid="7564769822086764796">"Activează DSDS"</string>
+    <string name="dsds_dialog_title" msgid="8494569893941847575">"Repornești dispozitivul?"</string>
+    <string name="dsds_dialog_message" msgid="4047480385678538850">"Trebuie să repornești dispozitivul pentru a modifica setarea."</string>
+    <string name="dsds_dialog_confirm" msgid="9032004888134129885">"Repornește"</string>
+    <string name="dsds_dialog_cancel" msgid="3245958947099586655">"Anulează"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"Setează cartela eSIM portabilă drept prestabilită"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"Alimentare radio celular"</string>
-    <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"Afișați agenda de pe SIM"</string>
-    <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"Afișați numerele pentru apeluri restricționate"</string>
-    <string name="radioInfo_menu_viewSDN" msgid="2613431584522392842">"Vedeți numere de apelare de serviciu"</string>
+    <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"Afișează agenda de pe SIM"</string>
+    <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"Afișează numerele pentru apeluri restricționate"</string>
+    <string name="radioInfo_menu_viewSDN" msgid="2613431584522392842">"Vezi numere de apelare de serviciu"</string>
     <string name="radioInfo_menu_getIMS" msgid="1950869267853198232">"Starea serviciului IMS"</string>
     <string name="radio_info_ims_reg_status_title" msgid="6875885401313992007">"Stare IMS"</string>
     <string name="radio_info_ims_reg_status_registered" msgid="7095182114078864326">"Înregistrat"</string>
@@ -899,35 +887,36 @@
     <string name="radio_info_ppp_sent_label" msgid="6542208429356199695">"Date trimise:"</string>
     <string name="radio_info_message_waiting_label" msgid="1886549432566952078">"Mesaj în așteptare:"</string>
     <string name="radio_info_phone_number_label" msgid="2533852539562512203">"Număr de telefon:"</string>
-    <string name="radio_info_band_mode_label" msgid="23480556225515290">"Selectați banda radio"</string>
+    <string name="radio_info_band_mode_label" msgid="23480556225515290">"Selectează banda radio"</string>
     <string name="radio_info_voice_network_type_label" msgid="2395347336419593265">"Tipul rețelei de voce:"</string>
     <string name="radio_info_data_network_type_label" msgid="8886597029237501929">"Tipul rețelei de date:"</string>
-    <string name="phone_index_label" msgid="6222406512768964268">"Selectați indexul telefonului"</string>
+    <string name="radio_info_override_network_type_label" msgid="4176280017221092005">"Modifică tipul de rețea:"</string>
+    <string name="phone_index_label" msgid="6222406512768964268">"Selectează indexul telefonului"</string>
     <string name="radio_info_set_perferred_label" msgid="7408131389363136210">"Setați tipul preferat de rețea:"</string>
-    <string name="radio_info_ping_hostname_v4" msgid="6951237885381284790">"Dați ping adresei IPv4 a numelui de gazdă (www.google.com):"</string>
-    <string name="radio_info_ping_hostname_v6" msgid="2748637889486554603">"Dați ping adresei IPv6 a numelui de gazdă (www.google.com):"</string>
+    <string name="radio_info_ping_hostname_v4" msgid="6951237885381284790">"Dă ping adresei IPv4 a numelui de gazdă (www.google.com):"</string>
+    <string name="radio_info_ping_hostname_v6" msgid="2748637889486554603">"Dă ping adresei IPv6 a numelui de gazdă (www.google.com):"</string>
     <string name="radio_info_http_client_test" msgid="1329583721088428238">"Test client HTTP:"</string>
-    <string name="ping_test_label" msgid="448617502935719694">"Efectuați testul de ping"</string>
+    <string name="ping_test_label" msgid="448617502935719694">"Efectuează testul de ping"</string>
     <string name="radio_info_smsc_label" msgid="3749927072726033763">"SMSC:"</string>
-    <string name="radio_info_smsc_update_label" msgid="5141996256097115753">"Actualizați"</string>
-    <string name="radio_info_smsc_refresh_label" msgid="8409923721451604560">"Actualizați"</string>
-    <string name="radio_info_toggle_dns_check_label" msgid="1394078554927787350">"Activați/dezactivați verificarea DNS"</string>
+    <string name="radio_info_smsc_update_label" msgid="5141996256097115753">"Actualizează"</string>
+    <string name="radio_info_smsc_refresh_label" msgid="8409923721451604560">"Actualizează"</string>
+    <string name="radio_info_toggle_dns_check_label" msgid="1394078554927787350">"Activează/dezactivează verificarea DNS"</string>
     <string name="oem_radio_info_label" msgid="2914167475119997456">"Informații/Setări caracteristice OEM"</string>
-    <string name="radio_info_endc_available" msgid="4410653375290113436">"Disponibilă EN-DC:"</string>
-    <string name="radio_info_dcnr_restricted" msgid="2469125498066960807">"Restricționată DCNR:"</string>
-    <string name="radio_info_nr_available" msgid="1321318331361249997">"Disponibilă NR:"</string>
-    <string name="radio_info_nr_state" msgid="1337571996788535356">"Stare NR:"</string>
+    <string name="radio_info_endc_available" msgid="2983767110681230019">"Disponibil EN-DC (NSA):"</string>
+    <string name="radio_info_dcnr_restricted" msgid="7147511536420148173">"Restricționat DCNR (NSA):"</string>
+    <string name="radio_info_nr_available" msgid="3383388088451237182">"Disponibil NR (NSA):"</string>
+    <string name="radio_info_nr_state" msgid="4158805093187555149">"Stare NR (NSA):"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"Frecvență NR:"</string>
-    <string name="band_mode_title" msgid="7988822920724576842">"Setați Modul bandă radio"</string>
+    <string name="band_mode_title" msgid="7988822920724576842">"Setează Modul bandă radio"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"Se încarcă lista de benzi…"</string>
-    <string name="band_mode_set" msgid="6657819412803771421">"Setați"</string>
+    <string name="band_mode_set" msgid="6657819412803771421">"Setează"</string>
     <string name="band_mode_failed" msgid="1707488541847192924">"Nereușit"</string>
     <string name="band_mode_succeeded" msgid="2230018000534761063">"Reușit"</string>
     <string name="phone_info_label" product="tablet" msgid="7477478709388477397">"Informații tabletă"</string>
     <string name="phone_info_label" product="default" msgid="1784175881556791433">"Informații despre telefon"</string>
     <string name="carrier_provisioning" msgid="2668065041869578376">"Informații despre provizionarea operatorului"</string>
-    <string name="trigger_carrier_provisioning" msgid="1301829588620638234">"Declanșați provizionarea operatorului"</string>
-    <string name="call_quality_notification_bluetooth_details" msgid="8348950331707346711">"Semnalul Bluetooth este slab. Încercați să folosiți difuzorul."</string>
+    <string name="trigger_carrier_provisioning" msgid="1301829588620638234">"Declanșează provizionarea operatorului"</string>
+    <string name="call_quality_notification_bluetooth_details" msgid="8348950331707346711">"Semnalul Bluetooth este slab. Încearcă să folosești difuzorul."</string>
     <string name="call_quality_notification_name" msgid="3476828289553948830">"Notificare privind calitatea apelului"</string>
     <string name="notification_channel_sip_account" msgid="1261816025156179637">"Conturi SIP învechite"</string>
 </resources>
diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml
index 3e94f11..bf0a56d 100644
--- a/res/values-ru/strings.xml
+++ b/res/values-ru/strings.xml
@@ -637,18 +637,8 @@
     <string name="phone_in_ecm_notification_title" msgid="6825016389926367946">"Режим экстренных обратных вызовов"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="653972232922670335">"Передача данных отключена"</string>
     <string name="phone_in_ecm_notification_complete_time" msgid="7341624337163082759">"Подключения для передачи данных не будет до <xliff:g id="COMPLETETIME">%s</xliff:g>"</string>
-    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="5425906903766466743">
-      <item quantity="one">Режим экстренных обратных вызовов будет действовать ещё <xliff:g id="COUNT_1">%s</xliff:g> минуту. При этом будут недоступны приложения с поддержкой передачи данных. Выйти?</item>
-      <item quantity="few">Режим экстренных обратных вызовов будет действовать ещё <xliff:g id="COUNT_1">%s</xliff:g> минуты. При этом будут недоступны приложения с поддержкой передачи данных. Выйти?</item>
-      <item quantity="many">Режим экстренных обратных вызовов будет действовать ещё <xliff:g id="COUNT_1">%s</xliff:g> минут. При этом будут недоступны приложения с поддержкой передачи данных. Выйти?</item>
-      <item quantity="other">Режим экстренных обратных вызовов будет действовать ещё <xliff:g id="COUNT_1">%s</xliff:g> минуты. При этом будут недоступны приложения с поддержкой передачи данных. Выйти?</item>
-    </plurals>
-    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="1152682528741457004">
-      <item quantity="one">Эта операция недоступна в режиме экстренных обратных вызовов. Телефон останется в этом режиме ещё на <xliff:g id="COUNT_1">%s</xliff:g> минуту. Выйти?</item>
-      <item quantity="few">Эта операция недоступна в режиме экстренных обратных вызовов. Телефон останется в этом режиме ещё <xliff:g id="COUNT_1">%s</xliff:g> минуты. Выйти?</item>
-      <item quantity="many">Эта операция недоступна в режиме экстренных обратных вызовов. Телефон останется в этом режиме ещё на <xliff:g id="COUNT_1">%s</xliff:g> минут. Выйти?</item>
-      <item quantity="other">Эта операция недоступна в режиме экстренных обратных вызовов. Телефон останется в этом режиме ещё на <xliff:g id="COUNT_1">%s</xliff:g> минуты. Выйти?</item>
-    </plurals>
+    <!-- format error in translation for alert_dialog_exit_ecm (7661603870224398025) -->
+    <!-- format error in translation for alert_dialog_not_avaialble_in_ecm (8717711120099503279) -->
     <string name="alert_dialog_in_ecm_call" msgid="1207545603149771978">"Выбранное действие невозможно при экстренном вызове."</string>
     <string name="progress_dialog_exiting_ecm" msgid="9159080081676927217">"Выход из режима экстренных обратных вызовов"</string>
     <string name="alert_dialog_yes" msgid="3532525979632841417">"Да"</string>
@@ -656,12 +646,7 @@
     <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">
-      <item quantity="one">Телефон будет оставаться в режиме экстренных обратных вызовов <xliff:g id="COUNT_1">%s</xliff:g> минуту.\nВыйти сейчас?</item>
-      <item quantity="few">Телефон будет оставаться в режиме экстренных обратных вызовов <xliff:g id="COUNT_1">%s</xliff:g> минуты.\nВыйти сейчас?</item>
-      <item quantity="many">Телефон будет оставаться в режиме экстренных обратных вызовов <xliff:g id="COUNT_1">%s</xliff:g> минут.\nВыйти сейчас?</item>
-      <item quantity="other">Телефон будет оставаться в режиме экстренных обратных вызовов <xliff:g id="COUNT_1">%s</xliff:g> минуты.\nВыйти сейчас?</item>
-    </plurals>
+    <!-- format error in translation for alert_dialog_exit_ecm_without_data_restriction_hint (7549850847524907932) -->
     <string name="voicemail_provider" msgid="4158806657253745294">"Служба"</string>
     <string name="voicemail_settings" msgid="4451045613238972776">"Настройка"</string>
     <string name="voicemail_number_not_set" msgid="8831561283386938155">"&lt;Не задано&gt;"</string>
@@ -689,7 +674,6 @@
     <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="callFailed_cdma_activation" msgid="5392057031552253550">"В вашем телефоне уже настроен роуминг и активирована SIM-карта."</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"Слишком много активных вызовов. Чтобы выполнить новый вызов, завершите или объедините существующие."</string>
@@ -833,7 +817,7 @@
     <string name="callFailed_already_dialing" msgid="7250591188960691086">"Невозможно позвонить, поскольку ещё не завершен другой исходящий вызов."</string>
     <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="callFailed_too_many_calls" msgid="2761754044990799580">"Невозможно позвонить, поскольку ещё не завершены два текущих вызова. Сбросьте один из вызовов или объедините их в конференцию."</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>) необходимо подключение к мобильному Интернету через SIM-карту <xliff:g id="SIM_NUMBER">%2$d</xliff:g>. Этот параметр можно изменить в настройках мобильной сети."</string>
@@ -851,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"Чтобы изменить эту настройку, перезапустите устройство."</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"Перезапустить"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"Отмена"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"Установить съемную eSIM-карту в качестве используемой по умолчанию"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"Мощность радиосигнала"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"Посмотреть адресную книгу на SIM-карте"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"Список разрешенных номеров"</string>
@@ -905,6 +890,7 @@
     <string name="radio_info_band_mode_label" msgid="23480556225515290">"Выбрать радиостанцию"</string>
     <string name="radio_info_voice_network_type_label" msgid="2395347336419593265">"Тип сети для голосовой связи:"</string>
     <string name="radio_info_data_network_type_label" msgid="8886597029237501929">"Тип сети для передачи данных:"</string>
+    <string name="radio_info_override_network_type_label" msgid="4176280017221092005">"Переопределение типа сети:"</string>
     <string name="phone_index_label" msgid="6222406512768964268">"Выберите телефонный код"</string>
     <string name="radio_info_set_perferred_label" msgid="7408131389363136210">"Настроить предпочтительный тип сети:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="6951237885381284790">"Имя хоста запроса ping для www.google.com, IPv4:"</string>
@@ -916,10 +902,10 @@
     <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>
-    <string name="radio_info_dcnr_restricted" msgid="2469125498066960807">"DCNR ограничено:"</string>
-    <string name="radio_info_nr_available" msgid="1321318331361249997">"NR доступно:"</string>
-    <string name="radio_info_nr_state" msgid="1337571996788535356">"Состояние NR:"</string>
+    <string name="radio_info_endc_available" msgid="2983767110681230019">"EN-DC доступно (NSA):"</string>
+    <string name="radio_info_dcnr_restricted" msgid="7147511536420148173">"DCNR с ограничениями (NSA):"</string>
+    <string name="radio_info_nr_available" msgid="3383388088451237182">"NR доступно (NSA):"</string>
+    <string name="radio_info_nr_state" msgid="4158805093187555149">"Статус NR (NSA):"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"Частота NR:"</string>
     <string name="band_mode_title" msgid="7988822920724576842">"Настроить режим сети"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"Загрузка списка частот…"</string>
diff --git a/res/values-si/strings.xml b/res/values-si/strings.xml
index 7efc245..afd0abf 100644
--- a/res/values-si/strings.xml
+++ b/res/values-si/strings.xml
@@ -637,14 +637,8 @@
     <string name="phone_in_ecm_notification_title" msgid="6825016389926367946">"හදිසි ආපසු ඇමතුම් ආකාරය"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="653972232922670335">"දත්ත සම්බන්ධතාවය අබලයි"</string>
     <string name="phone_in_ecm_notification_complete_time" msgid="7341624337163082759">"<xliff:g id="COMPLETETIME">%s</xliff:g> තෙක් දත්ත සම්බන්ධතාවක් නැත"</string>
-    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="5425906903766466743">
-      <item quantity="one">දුරකථනය මිනිත්තු <xliff:g id="COUNT_1">%s</xliff:g> ක් හදිසි ආපසු ඇමතුම් ආකාරය තුළ වනු ඇත. මෙම ආකාරය තුළ සිටින අතරතුර දත්ත සම්බන්ධයක් භාවිත කරන යෙදුම් කිසිවක් භාවිත කළ නොහැකිය. ඔබට දැන් පිටවීමට අවශ්යද?</item>
-      <item quantity="other">දුරකථනය මිනිත්තු <xliff:g id="COUNT_1">%s</xliff:g> ක් හදිසි ආපසු ඇමතුම් ආකාරය තුළ වනු ඇත. මෙම ආකාරය තුළ සිටින අතරතුර දත්ත සම්බන්ධයක් භාවිත කරන යෙදුම් කිසිවක් භාවිත කළ නොහැකිය. ඔබට දැන් පිටවීමට අවශ්යද?</item>
-    </plurals>
-    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="1152682528741457004">
-      <item quantity="one"> හදිසි ආපසු ඇමතුම් ආකාරය තුළ සිටියදී තෝරන ලද ක්‍රියාව ලබාගත නොහැක. දුරකථනය මිනිත්තු <xliff:g id="COUNT_1">%s</xliff:g> ක් හදිසි ආපසු ඇමතුම් ආකාරය තුළ වනු ඇත. ඔබට දැන් පිටවීමට අවශ්යද?</item>
-      <item quantity="other"> හදිසි ආපසු ඇමතුම් ආකාරය තුළ සිටියදී තෝරන ලද ක්‍රියාව ලබාගත නොහැක. දුරකථනය මිනිත්තු <xliff:g id="COUNT_1">%s</xliff:g> ක් හදිසි ආපසු ඇමතුම් ආකාරය තුළ වනු ඇත. ඔබට දැන් පිටවීමට අවශ්යද?</item>
-    </plurals>
+    <!-- format error in translation for alert_dialog_exit_ecm (7661603870224398025) -->
+    <!-- format error in translation for alert_dialog_not_avaialble_in_ecm (8717711120099503279) -->
     <string name="alert_dialog_in_ecm_call" msgid="1207545603149771978">"හදිසි ඇමතුමක් අතර තුර තෝරන ලද ක්‍රියාව ලබාගත නොහැක."</string>
     <string name="progress_dialog_exiting_ecm" msgid="9159080081676927217">"හදිසි ආපසු ඇමතුම් ආකාරයෙන් පිට වෙමින්"</string>
     <string name="alert_dialog_yes" msgid="3532525979632841417">"ඔව්"</string>
@@ -652,10 +646,7 @@
     <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">
-      <item quantity="one">දුරකථනය මිනිත්තු <xliff:g id="COUNT_1">%s</xliff:g>ක් තිස්සේ හදිසි පසු ඇමතුම් ප්‍රකාරයේ තිබෙනු ඇත.\nදැන් ඔබට පිටවීමට අවශ්‍යද?</item>
-      <item quantity="other">දුරකථනය මිනිත්තු <xliff:g id="COUNT_1">%s</xliff:g>ක් තිස්සේ හදිසි පසු ඇමතුම් ප්‍රකාරයේ තිබෙනු ඇත.\nදැන් ඔබට පිටවීමට අවශ්‍යද?</item>
-    </plurals>
+    <!-- format error in translation for alert_dialog_exit_ecm_without_data_restriction_hint (7549850847524907932) -->
     <string name="voicemail_provider" msgid="4158806657253745294">"සේවාව"</string>
     <string name="voicemail_settings" msgid="4451045613238972776">"ස්ථාපනය කරන්න"</string>
     <string name="voicemail_number_not_set" msgid="8831561283386938155">"&lt;පිහිටුවා නැත&gt;"</string>
@@ -683,7 +674,6 @@
     <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="callFailed_cdma_activation" msgid="5392057031552253550">"SIM කාඩ්පතක් ඔබේ සේවාව සක්‍රිය කර ඔබේ දුරකථනයේ රෝමිං හැකියා යාවත්කාලීන කර තිබේ."</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"සක්‍රිය ඇමතුම් ඉතා විශාල ගණනක් ඇත. කරුණාකර නව ඇමතුමක් ගැනීමට පෙර පවතින ඇමතුම් අවසන් හෝ ඒකාබද්ධ කරන්න."</string>
@@ -827,7 +817,7 @@
     <string name="callFailed_already_dialing" msgid="7250591188960691086">"තවත් යන ඇමතුමක් දැනටමත් ඩයල් කරමින් පවතින නිසා අැමතුමක් ගැනීමට නොහැකිය."</string>
     <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="callFailed_too_many_calls" msgid="2761754044990799580">"දැනටමත් ඇමතුම් දෙකක් කෙරෙමින් පවතින නිසා ඇමතුමක් ගැනීමට නොහැක. නව ඇමතුමක් ගැනීමට පෙරාතුව ඇමතුම්වලින් එකක් විසන්ධි කරන්න නැතහොත් ඒවා සම්මන්ත්‍රණයකට ඒකාබද්ධ කරන්න."</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> භාවිත කිරීමට, SIM <xliff:g id="SIM_NUMBER">%2$d</xliff:g> සඳහා ජංගම දත්ත ක්‍රියාත්මක කර ඇති බව සහතික කර ගන්න. ඔබට මෙය ජංගම ජාල සැකසීම් තුළ වෙනස් කිරීමට හැකිය."</string>
@@ -845,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"මෙම සැකසීම වෙනස් කිරීමට ඔබ ඔබේ උපාංගය යළි ඇරඹීමට අවශ්‍යයි."</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"යළි අරඹන්න"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"අවලංගු කරන්න"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"ඉවත් කළ හැකි eSIM පෙරනිමිය ලෙස සකසන්න"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"ජංගම රේඩියෝ බලය"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"SIM ලිපින පොත බලන්න"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"ස්ථාවර ඇමතුම් අංක පෙන්වන්න"</string>
@@ -899,6 +890,7 @@
     <string name="radio_info_band_mode_label" msgid="23480556225515290">"රේඩියෝ කලාපය තෝරන්න"</string>
     <string name="radio_info_voice_network_type_label" msgid="2395347336419593265">"හඬ ජාල වර්ගය:"</string>
     <string name="radio_info_data_network_type_label" msgid="8886597029237501929">"දත්ත ජාල වර්ගය:"</string>
+    <string name="radio_info_override_network_type_label" msgid="4176280017221092005">"ජාල වර්ගය ප්‍රතික්ෂේප කරන්න:"</string>
     <string name="phone_index_label" msgid="6222406512768964268">"දුරකථන දර්ශකය තෝරන්න"</string>
     <string name="radio_info_set_perferred_label" msgid="7408131389363136210">"වඩා කැමති ජාල වර්ගය සකසන්න:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="6951237885381284790">"සත්කාරක නම පිං කරන්න(www.google.com) IPv4:"</string>
@@ -910,10 +902,10 @@
     <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>
-    <string name="radio_info_dcnr_restricted" msgid="2469125498066960807">"DCNR සීමා කළ:"</string>
-    <string name="radio_info_nr_available" msgid="1321318331361249997">"NR ලබා ගත හැකි:"</string>
-    <string name="radio_info_nr_state" msgid="1337571996788535356">"NR තත්ත්වය:"</string>
+    <string name="radio_info_endc_available" msgid="2983767110681230019">"EN-DC තිබේ (NSA):"</string>
+    <string name="radio_info_dcnr_restricted" msgid="7147511536420148173">"DCNR සීමිතයි (NSA):"</string>
+    <string name="radio_info_nr_available" msgid="3383388088451237182">"NR තිබේ (NSA):"</string>
+    <string name="radio_info_nr_state" msgid="4158805093187555149">"NR තත්ත්වය (NSA):"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR සංඛ්‍යාතය:"</string>
     <string name="band_mode_title" msgid="7988822920724576842">"රේඩියෝ කලාප ප්‍රකාරය සකසන්න"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"කලාප ලැයිස්තුව පූරණය කරමින්…"</string>
diff --git a/res/values-sk/strings.xml b/res/values-sk/strings.xml
index 7f9bc94..167d6a9 100644
--- a/res/values-sk/strings.xml
+++ b/res/values-sk/strings.xml
@@ -637,18 +637,8 @@
     <string name="phone_in_ecm_notification_title" msgid="6825016389926367946">"Režim tiesňového spätného volania"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="653972232922670335">"Dátové pripojenie zakázané"</string>
     <string name="phone_in_ecm_notification_complete_time" msgid="7341624337163082759">"Dátové pripojenie nebude dostupné do <xliff:g id="COMPLETETIME">%s</xliff:g>"</string>
-    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="5425906903766466743">
-      <item quantity="few">Telefón bude <xliff:g id="COUNT_1">%s</xliff:g> minúty v režime spätného tiesňového volania. Keď bude v tomto režime, nesmiete používať žiadne aplikácie využívajúce dátové pripojenie. Chcete ho ukončiť?</item>
-      <item quantity="many">Telefón bude <xliff:g id="COUNT_1">%s</xliff:g> minúty v režime spätného tiesňového volania. Keď bude v tomto režime, nesmiete používať žiadne aplikácie využívajúce dátové pripojenie. Chcete ho ukončiť?</item>
-      <item quantity="other">Telefón bude <xliff:g id="COUNT_1">%s</xliff:g> minút v režime spätného tiesňového volania. Keď bude v tomto režime, nesmiete používať žiadne aplikácie využívajúce dátové pripojenie. Chcete ho ukončiť?</item>
-      <item quantity="one">Telefón bude <xliff:g id="COUNT_0">%s</xliff:g> minútu v režime spätného tiesňového volania. Keď bude v tomto režime, nesmiete používať žiadne aplikácie využívajúce dátové pripojenie. Chcete ho ukončiť?</item>
-    </plurals>
-    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="1152682528741457004">
-      <item quantity="few">Pri spustenom režime spätného tiesňového volania nie je vybraná akcia k dispozícii. Telefón bude v tomto režime <xliff:g id="COUNT_1">%s</xliff:g> minúty. Chcete ho ukončiť?</item>
-      <item quantity="many">Pri spustenom režime spätného tiesňového volania nie je vybraná akcia k dispozícii. Telefón bude v tomto režime <xliff:g id="COUNT_1">%s</xliff:g> minúty. Chcete ho ukončiť?</item>
-      <item quantity="other">Pri spustenom režime spätného tiesňového volania nie je vybraná akcia k dispozícii. Telefón bude v tomto režime <xliff:g id="COUNT_1">%s</xliff:g> minút. Chcete ho ukončiť?</item>
-      <item quantity="one">Pri spustenom režime spätného tiesňového volania nie je vybraná akcia k dispozícii. Telefón bude v tomto režime <xliff:g id="COUNT_0">%s</xliff:g> minútu. Chcete ho ukončiť?</item>
-    </plurals>
+    <!-- format error in translation for alert_dialog_exit_ecm (7661603870224398025) -->
+    <!-- format error in translation for alert_dialog_not_avaialble_in_ecm (8717711120099503279) -->
     <string name="alert_dialog_in_ecm_call" msgid="1207545603149771978">"Počas tiesňového volania nie je vybratá akcia k dispozícii."</string>
     <string name="progress_dialog_exiting_ecm" msgid="9159080081676927217">"Ukončenie režimu tiesňového spätného volania"</string>
     <string name="alert_dialog_yes" msgid="3532525979632841417">"Áno"</string>
@@ -656,12 +646,7 @@
     <string name="alert_dialog_dismiss" msgid="1336356286354517054">"Zatvoriť"</string>
     <string name="phone_in_ecm_call_notification_text_without_data_restriction_hint" msgid="3747860785153531225">"Telefón je v režime tiesňového spätného volania"</string>
     <string name="phone_in_ecm_notification_complete_time_without_data_restriction_hint" msgid="3690292264812050858">"Do <xliff:g id="COMPLETETIME">%s</xliff:g>"</string>
-    <plurals name="alert_dialog_exit_ecm_without_data_restriction_hint" formatted="false" msgid="6477733043040328640">
-      <item quantity="few">Telefón bude v režime tiesňového spätného volania <xliff:g id="COUNT_1">%s</xliff:g> minúty.\nChcete tento režim ukončiť?</item>
-      <item quantity="many">Telefón bude v režime tiesňového spätného volania <xliff:g id="COUNT_1">%s</xliff:g> minúty.\nChcete tento režim ukončiť?</item>
-      <item quantity="other">Telefón bude v režime tiesňového spätného volania <xliff:g id="COUNT_1">%s</xliff:g> minút.\nChcete tento režim ukončiť?</item>
-      <item quantity="one">Telefón bude v režime tiesňového spätného volania <xliff:g id="COUNT_0">%s</xliff:g> minútu.\nChcete tento režim ukončiť?</item>
-    </plurals>
+    <!-- format error in translation for alert_dialog_exit_ecm_without_data_restriction_hint (7549850847524907932) -->
     <string name="voicemail_provider" msgid="4158806657253745294">"Služba"</string>
     <string name="voicemail_settings" msgid="4451045613238972776">"Nastavenie"</string>
     <string name="voicemail_number_not_set" msgid="8831561283386938155">"&lt;Nenastavené&gt;"</string>
@@ -689,7 +674,6 @@
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"Dostupnosť"</string>
     <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"Hovor cez Wi‑Fi od:"</string>
     <string name="status_hint_label_wifi_call" msgid="942993035689809853">"Hovor cez Wi‑Fi"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"Otvoríte opätovným klepnutím"</string>
     <string name="message_decode_error" msgid="1061856591500290887">"Pri dekódovaní správy sa vyskytla chyba"</string>
     <string name="callFailed_cdma_activation" msgid="5392057031552253550">"SIM karta aktivovala vašu službu a aktualizovala možnosti roamingu vášho telefónu"</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"Prebieha príliš veľa aktívnych hovorov. Skôr ako uskutočníte nový hovor, ukončite existujúce hovory alebo ich zlúčte."</string>
@@ -833,7 +817,7 @@
     <string name="callFailed_already_dialing" msgid="7250591188960691086">"Hovor sa nedá uskutočniť, pretože sa už vytáča iný odchádzajúci hovor."</string>
     <string name="callFailed_already_ringing" msgid="2376603543544289303">"Hovor sa nedá uskutočniť, pretože máte neprijatý prichádzajúci hovor. Prijmite alebo odmietnite prichádzajúci hovor a až potom uskutočnite nový hovor."</string>
     <string name="callFailed_calling_disabled" msgid="5010992739401206283">"Hovor sa nedá uskutočniť, pretože hovory boli zakázané systémovým príkazom ro.telephony.disable-call."</string>
-    <string name="callFailed_too_many_calls" msgid="5379426826618582180">"Hovor sa nedá uskutočniť, pretože už prebiehajú dva hovory. Odpojte jeden hovor alebo ich zlúčte do konferencie a až potom uskutočnite nový hovor."</string>
+    <string name="callFailed_too_many_calls" msgid="2761754044990799580">"Hovor sa nedá uskutočniť, pretože už prebiehajú dva hovory. Odpojte jeden hovor alebo ich zlúčte do konferencie a až potom uskutočnite nový hovor."</string>
     <string name="supp_service_over_ut_precautions" msgid="2145018231396701311">"Ak chcete používať službu <xliff:g id="SUPP_SERVICE">%s</xliff:g>, skontrolujte, či máte zapnuté mobilné dáta. Môžete to zmeniť v nastaveniach mobilnej siete."</string>
     <string name="supp_service_over_ut_precautions_roaming" msgid="670342104569972327">"Ak chcete používať službu <xliff:g id="SUPP_SERVICE">%s</xliff:g>, skontrolujte, či máte zapnuté mobilné dáta a dátový roaming. Môžete to zmeniť v nastaveniach mobilnej siete."</string>
     <string name="supp_service_over_ut_precautions_dual_sim" msgid="5166866975550910474">"Ak chcete používať službu <xliff:g id="SUPP_SERVICE">%1$s</xliff:g>, skontrolujte, či máte pre SIM kartu <xliff:g id="SIM_NUMBER">%2$d</xliff:g> zapnuté mobilné dáta. Môžete to zmeniť v nastaveniach mobilnej siete."</string>
@@ -851,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"Ak chcete zmeniť nastavenie, musíte reštartovať zariadenie."</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"Reštartovať"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"Zrušiť"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"Nastaviť odoberateľnú eSIM kartu ako predvolenú"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"Sila signálu GSM"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"Zobraziť adresár SIM karty"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"Zobraziť povolené čísla"</string>
@@ -905,6 +890,7 @@
     <string name="radio_info_band_mode_label" msgid="23480556225515290">"Vybrať pásmo rádia"</string>
     <string name="radio_info_voice_network_type_label" msgid="2395347336419593265">"Typ hlasovej siete:"</string>
     <string name="radio_info_data_network_type_label" msgid="8886597029237501929">"Typ dátovej siete:"</string>
+    <string name="radio_info_override_network_type_label" msgid="4176280017221092005">"Prekonať typ siete:"</string>
     <string name="phone_index_label" msgid="6222406512768964268">"Vybrať index telefónu"</string>
     <string name="radio_info_set_perferred_label" msgid="7408131389363136210">"Nastaviť preferovaný typ siete:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="6951237885381284790">"Testovať dostupnosť (ping) názvu hostiteľa (www.google.com) IPv4:"</string>
@@ -916,10 +902,10 @@
     <string name="radio_info_smsc_refresh_label" msgid="8409923721451604560">"Obnoviť"</string>
     <string name="radio_info_toggle_dns_check_label" msgid="1394078554927787350">"Prepnúť kontrolu DNS"</string>
     <string name="oem_radio_info_label" msgid="2914167475119997456">"Informácie alebo nastavenia špecifické pre výrobcu OEM"</string>
-    <string name="radio_info_endc_available" msgid="4410653375290113436">"Dostupné EN-DC:"</string>
-    <string name="radio_info_dcnr_restricted" msgid="2469125498066960807">"Obmedzené DCNR:"</string>
-    <string name="radio_info_nr_available" msgid="1321318331361249997">"Dostupné NR:"</string>
-    <string name="radio_info_nr_state" msgid="1337571996788535356">"Stav NR:"</string>
+    <string name="radio_info_endc_available" msgid="2983767110681230019">"Dostupné EN-DC (NSA):"</string>
+    <string name="radio_info_dcnr_restricted" msgid="7147511536420148173">"Obmedzené DCNR (NSA):"</string>
+    <string name="radio_info_nr_available" msgid="3383388088451237182">"Dostupné NR (NSA):"</string>
+    <string name="radio_info_nr_state" msgid="4158805093187555149">"Stav NR (NSA):"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"Frekvencia NR:"</string>
     <string name="band_mode_title" msgid="7988822920724576842">"Nastaviť režim rádiového pásma"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"Načítava sa zoznam pásiem…"</string>
diff --git a/res/values-sl/strings.xml b/res/values-sl/strings.xml
index 5feb01d..ec82d5f 100644
--- a/res/values-sl/strings.xml
+++ b/res/values-sl/strings.xml
@@ -637,18 +637,8 @@
     <string name="phone_in_ecm_notification_title" msgid="6825016389926367946">"Način povratnega klica v sili"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="653972232922670335">"Podatkovno povezovanje onemogočeno"</string>
     <string name="phone_in_ecm_notification_complete_time" msgid="7341624337163082759">"Podatkovne povezave ne bo do <xliff:g id="COMPLETETIME">%s</xliff:g>"</string>
-    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="5425906903766466743">
-      <item quantity="one">Telefon bo v načinu povratnega klica v sili <xliff:g id="COUNT_1">%s</xliff:g> minuto. V tem načinu ni mogoče uporabljati aplikacij, ki uporabljajo podatkovno povezavo. Ali želite zapreti?</item>
-      <item quantity="two">Telefon bo v načinu povratnega klica v sili <xliff:g id="COUNT_1">%s</xliff:g> minuti. V tem načinu ni mogoče uporabljati aplikacij, ki uporabljajo podatkovno povezavo. Ali želite zapreti?</item>
-      <item quantity="few">Telefon bo v načinu povratnega klica v sili <xliff:g id="COUNT_1">%s</xliff:g> minute. V tem načinu ni mogoče uporabljati aplikacij, ki uporabljajo podatkovno povezavo. Ali želite zapreti?</item>
-      <item quantity="other">Telefon bo v načinu povratnega klica v sili <xliff:g id="COUNT_1">%s</xliff:g> minut. V tem načinu ni mogoče uporabljati aplikacij, ki uporabljajo podatkovno povezavo. Ali želite zapreti?</item>
-    </plurals>
-    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="1152682528741457004">
-      <item quantity="one">Izbrano dejanje ni na voljo v načinu povratnega klica v sili. Telefon bo v tem načinu <xliff:g id="COUNT_1">%s</xliff:g> minuto. Ali želite zapreti?</item>
-      <item quantity="two">Izbrano dejanje ni na voljo v načinu povratnega klica v sili. Telefon bo v tem načinu <xliff:g id="COUNT_1">%s</xliff:g> minuti. Ali želite zapreti?</item>
-      <item quantity="few">Izbrano dejanje ni na voljo v načinu povratnega klica v sili. Telefon bo v tem načinu <xliff:g id="COUNT_1">%s</xliff:g> minute. Ali želite zapreti?</item>
-      <item quantity="other">Izbrano dejanje ni na voljo v načinu povratnega klica v sili. Telefon bo v tem načinu <xliff:g id="COUNT_1">%s</xliff:g> minut. Ali želite zapreti?</item>
-    </plurals>
+    <!-- format error in translation for alert_dialog_exit_ecm (7661603870224398025) -->
+    <!-- format error in translation for alert_dialog_not_avaialble_in_ecm (8717711120099503279) -->
     <string name="alert_dialog_in_ecm_call" msgid="1207545603149771978">"Izbrano dejanje ni na voljo med klicanjem v sili."</string>
     <string name="progress_dialog_exiting_ecm" msgid="9159080081676927217">"Izhod iz načina za povratni klic v sili"</string>
     <string name="alert_dialog_yes" msgid="3532525979632841417">"Da"</string>
@@ -656,12 +646,7 @@
     <string name="alert_dialog_dismiss" msgid="1336356286354517054">"Opusti"</string>
     <string name="phone_in_ecm_call_notification_text_without_data_restriction_hint" msgid="3747860785153531225">"Telefon je v načinu za povratni klic v sili"</string>
     <string name="phone_in_ecm_notification_complete_time_without_data_restriction_hint" msgid="3690292264812050858">"Do <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">Telefon bo v načinu za povratni klic v sili čez <xliff:g id="COUNT_1">%s</xliff:g> minuto.\nAli želite zapustiti ta način?</item>
-      <item quantity="two">Telefon bo v načinu za povratni klic v sili čez <xliff:g id="COUNT_1">%s</xliff:g> minuti.\nAli želite zapustiti ta način?</item>
-      <item quantity="few">Telefon bo v načinu za povratni klic v sili čez <xliff:g id="COUNT_1">%s</xliff:g> minute.\nAli želite zapustiti ta način?</item>
-      <item quantity="other">Telefon bo v načinu za povratni klic v sili čez <xliff:g id="COUNT_1">%s</xliff:g> minut.\nAli želite zapustiti ta način?</item>
-    </plurals>
+    <!-- format error in translation for alert_dialog_exit_ecm_without_data_restriction_hint (7549850847524907932) -->
     <string name="voicemail_provider" msgid="4158806657253745294">"Storitev"</string>
     <string name="voicemail_settings" msgid="4451045613238972776">"Nastavitev"</string>
     <string name="voicemail_number_not_set" msgid="8831561283386938155">"&lt;Ni nastavljeno&gt;"</string>
@@ -689,7 +674,6 @@
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"Funkcije za ljudi s posebnimi potrebami"</string>
     <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"Klic prek Wi-Fi-ja osebe"</string>
     <string name="status_hint_label_wifi_call" msgid="942993035689809853">"Klic Wi-Fi"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"Znova se dotaknite, če želite odpreti"</string>
     <string name="message_decode_error" msgid="1061856591500290887">"Napaka pri dekodiranju sporočila."</string>
     <string name="callFailed_cdma_activation" msgid="5392057031552253550">"Kartica SIM je aktivirala vašo storitev in posodobila zmožnosti telefona za gostovanje."</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"Preveč aktivnih klicev. Preden začnete nov klic, končajte ali združite obstoječe klice."</string>
@@ -833,7 +817,7 @@
     <string name="callFailed_already_dialing" msgid="7250591188960691086">"Klica ni mogoče opraviti, ker že poteka vzpostavljanje drugega odhodnega klica."</string>
     <string name="callFailed_already_ringing" msgid="2376603543544289303">"Klica ni mogoče opraviti, ker imate dohodni klic, na katerega še niste odgovorili. Preden začnete z opravljanjem novega klica, sprejmite ali zavrnite dohodni klic."</string>
     <string name="callFailed_calling_disabled" msgid="5010992739401206283">"Klica ni mogoče opraviti, ker je klicanje onemogočeno zaradi sistemske lastnosti ro.telephony.disable-call."</string>
-    <string name="callFailed_too_many_calls" msgid="5379426826618582180">"Klica ni mogoče opraviti, ker potekata že dva klica. Preden začnete z opravljanjem novega klica, prekinite enega od klicev ali ju združite v konferenčni klic."</string>
+    <string name="callFailed_too_many_calls" msgid="2761754044990799580">"Klica ni mogoče opraviti, ker potekata že dva klica. Preden začnete nov klic, prekinite enega od klicev ali ju združite v konferenčni klic."</string>
     <string name="supp_service_over_ut_precautions" msgid="2145018231396701311">"Če želite uporabiti storitev <xliff:g id="SUPP_SERVICE">%s</xliff:g>, najprej preverite, ali je vklopljen prenos podatkov v mobilnem omrežju. To izbiro lahko spremenite v nastavitvah mobilnega omrežja."</string>
     <string name="supp_service_over_ut_precautions_roaming" msgid="670342104569972327">"Če želite uporabiti storitev <xliff:g id="SUPP_SERVICE">%s</xliff:g>, najprej preverite, ali sta vklopljena prenos podatkov v mobilnem omrežju in podatkovno gostovanje. Ti izbiri lahko spremenite v nastavitvah mobilnega omrežja."</string>
     <string name="supp_service_over_ut_precautions_dual_sim" msgid="5166866975550910474">"Če želite uporabiti storitev <xliff:g id="SUPP_SERVICE">%1$s</xliff:g>, najprej preverite, ali je prenos podatkov v mobilnem omrežju vklopljen za kartico SIM <xliff:g id="SIM_NUMBER">%2$d</xliff:g>. To izbiro lahko spremenite v nastavitvah mobilnega omrežja."</string>
@@ -851,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"Če želite spremeniti to nastavitev, znova zaženite napravo."</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"Vnovičen zagon"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"Prekliči"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"Nastavi izmenljivo kartico e-SIM kot privzeto"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"Moč radia mobilne naprave"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"Prikaži imenik na kartici SIM"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"Prikaži številke za zaporo odhodnih klicev"</string>
@@ -905,6 +890,7 @@
     <string name="radio_info_band_mode_label" msgid="23480556225515290">"Izbira radijskega območja"</string>
     <string name="radio_info_voice_network_type_label" msgid="2395347336419593265">"Vrsta glasovnega omrežja:"</string>
     <string name="radio_info_data_network_type_label" msgid="8886597029237501929">"Vrsta podatkovnega omrežja:"</string>
+    <string name="radio_info_override_network_type_label" msgid="4176280017221092005">"Preglasi vrsto omrežja:"</string>
     <string name="phone_index_label" msgid="6222406512768964268">"Izberite indeks telefona"</string>
     <string name="radio_info_set_perferred_label" msgid="7408131389363136210">"Nastavitev vrste prednostnega omrežja:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="6951237885381284790">"Preverjanje imena gostitelja (www.google.com) za IPv4:"</string>
@@ -916,10 +902,10 @@
     <string name="radio_info_smsc_refresh_label" msgid="8409923721451604560">"Osveži"</string>
     <string name="radio_info_toggle_dns_check_label" msgid="1394078554927787350">"Preklop preverjanja DNS"</string>
     <string name="oem_radio_info_label" msgid="2914167475119997456">"Informacije/nastavitve za OEM"</string>
-    <string name="radio_info_endc_available" msgid="4410653375290113436">"Razpoložljivo za EN-DC:"</string>
-    <string name="radio_info_dcnr_restricted" msgid="2469125498066960807">"Omejeno za DCNR:"</string>
-    <string name="radio_info_nr_available" msgid="1321318331361249997">"Razpoložljivo za NR:"</string>
-    <string name="radio_info_nr_state" msgid="1337571996788535356">"Stanje NR:"</string>
+    <string name="radio_info_endc_available" msgid="2983767110681230019">"Razpoložljivo za EN-DC (NSA):"</string>
+    <string name="radio_info_dcnr_restricted" msgid="7147511536420148173">"Omejeno za DCNR (NSA):"</string>
+    <string name="radio_info_nr_available" msgid="3383388088451237182">"Razpoložljivo za NR (NSA):"</string>
+    <string name="radio_info_nr_state" msgid="4158805093187555149">"Stanje NR (NSA):"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"Frekvenca NR:"</string>
     <string name="band_mode_title" msgid="7988822920724576842">"Nastavljanje načina radijskega območja"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"Nalaganje seznama frekvenčnih pasov …"</string>
diff --git a/res/values-sq/strings.xml b/res/values-sq/strings.xml
index bcc80a5..2aec8a7 100644
--- a/res/values-sq/strings.xml
+++ b/res/values-sq/strings.xml
@@ -637,14 +637,8 @@
     <string name="phone_in_ecm_notification_title" msgid="6825016389926367946">"Modaliteti i \"Kthimit të telefonatës së urgjencës\""</string>
     <string name="phone_in_ecm_call_notification_text" msgid="653972232922670335">"Lidhja me të dhënat është çaktivizuar"</string>
     <string name="phone_in_ecm_notification_complete_time" msgid="7341624337163082759">"Nuk ka lidhje të të dhënave deri në <xliff:g id="COMPLETETIME">%s</xliff:g>"</string>
-    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="5425906903766466743">
-      <item quantity="other">Telefoni do të përdoret në modalitetin e \"Kthimit të Telefonatës së Urgjencës\" për <xliff:g id="COUNT_1">%s</xliff:g> minuta. Ndërkohë që është në këtë modalitet, nuk mund të përdoret asnjë aplikacion duke përdorur lidhje të dhënash. Dëshiron të dalësh tani?</item>
-      <item quantity="one">Telefoni do të jetë në modalitetin e \"Kthimit të telefonatës së urgjencës\" për <xliff:g id="COUNT_0">%s</xliff:g> minuta. Ndërkohë që është në këtë modalitet, nuk mund të përdoret asnjë aplikacion duke përdorur lidhje të dhënash. Dëshiron të dalësh tani?</item>
-    </plurals>
-    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="1152682528741457004">
-      <item quantity="other">Veprimi i përzgjedhur nuk mund të përdoret kur është në modalitetin e \"Kthimit të telefonatës së urgjencës\". Telefoni do të jetë në këtë modalitet për <xliff:g id="COUNT_1">%s</xliff:g> minuta. Dëshiron të dalësh tani?</item>
-      <item quantity="one">Veprimi i përzgjedhur nuk mund të përdoret kur është në modalitetin e \"Kthimit të telefonatës së urgjencës\". Telefoni do të jetë në këtë modalitet për <xliff:g id="COUNT_0">%s</xliff:g> minuta. Dëshiron të dalësh tani?</item>
-    </plurals>
+    <string name="alert_dialog_exit_ecm" msgid="7661603870224398025">"{count,plural, =1{Telefoni do të jetë në modalitetin e \"Kthimit të telefonatës së urgjencës\" për një minutë. Ndërkohë që është në këtë modalitet, nuk mund të përdoret asnjë aplikacion duke përdorur lidhjen e dhënave. Dëshiron të dalësh tani?}other{Telefoni do të jetë në modalitetin e \"Kthimit të telefonatës së urgjencës\" për %s minuta. Ndërkohë që është në këtë modalitet, nuk mund të përdoret asnjë aplikacion duke përdorur lidhjen e dhënave. Dëshiron të dalësh tani?}}"</string>
+    <string name="alert_dialog_not_avaialble_in_ecm" msgid="8717711120099503279">"{count,plural, =1{Veprimi i përzgjedhur nuk ofrohet në modalitetin e \"Kthimit të telefonatës së urgjencës\". Telefoni do të jetë në këtë modalitet për një minutë. Dëshiron të dalësh tani?}other{Veprimi i përzgjedhur nuk ofrohet në modalitetin e \"Kthimit të telefonatës së urgjencës\". Telefoni do të jetë në këtë modalitet për %s minuta. Dëshiron të dalësh tani?}}"</string>
     <string name="alert_dialog_in_ecm_call" msgid="1207545603149771978">"Veprimi i përzgjedhur nuk mund të përdoret gjatë një telefonate urgjente."</string>
     <string name="progress_dialog_exiting_ecm" msgid="9159080081676927217">"Modaliteti i \"Kthimit të telefonatës dalëse të urgjencës\""</string>
     <string name="alert_dialog_yes" msgid="3532525979632841417">"Po"</string>
@@ -652,10 +646,7 @@
     <string name="alert_dialog_dismiss" msgid="1336356286354517054">"Injoro"</string>
     <string name="phone_in_ecm_call_notification_text_without_data_restriction_hint" msgid="3747860785153531225">"Telefoni është në modalitetin e kthimit të telefonatës së urgjencës"</string>
     <string name="phone_in_ecm_notification_complete_time_without_data_restriction_hint" msgid="3690292264812050858">"Deri në <xliff:g id="COMPLETETIME">%s</xliff:g>"</string>
-    <plurals name="alert_dialog_exit_ecm_without_data_restriction_hint" formatted="false" msgid="6477733043040328640">
-      <item quantity="other">Telefoni do të jetë në modalitetin e kthimit të telefonatës së urgjencës për <xliff:g id="COUNT_1">%s</xliff:g> minuta.\nDëshiron të dalësh tani?</item>
-      <item quantity="one">Telefoni do të jetë në modalitetin e kthimit të telefonatës së urgjencës për <xliff:g id="COUNT_0">%s</xliff:g> minutë.\nDëshiron të dalësh tani?</item>
-    </plurals>
+    <string name="alert_dialog_exit_ecm_without_data_restriction_hint" msgid="7549850847524907932">"{count,plural, =1{Telefoni do të jetë në modalitetin e kthimit të telefonatës së urgjencës për një minutë.\nDëshiron të dalësh tani?}other{Telefoni do të jetë në modalitetin e kthimit të telefonatës së urgjencës për %s minuta.\nDëshiron të dalësh tani?}}"</string>
     <string name="voicemail_provider" msgid="4158806657253745294">"Shërbimi"</string>
     <string name="voicemail_settings" msgid="4451045613238972776">"Konfigurimi"</string>
     <string name="voicemail_number_not_set" msgid="8831561283386938155">"&lt;I pavendosur&gt;"</string>
@@ -683,7 +674,6 @@
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"Qasshmëria"</string>
     <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"Telefonatë Wi-Fi nga"</string>
     <string name="status_hint_label_wifi_call" msgid="942993035689809853">"Telefonatë me Wi-Fi"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"Trokit përsëri për ta hapur"</string>
     <string name="message_decode_error" msgid="1061856591500290887">"Ndodhi një gabim gjatë dekodimit të mesazhit."</string>
     <string name="callFailed_cdma_activation" msgid="5392057031552253550">"Një kartë SIM ka aktivizuar shërbimin tënd dhe ka përditësuar aftësitë e roaming-ut të telefonit tënd."</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"Ka shumë thirrje aktive. Përfundo ose të bashko thirrjet ekzistuese para kryerjes së një thirrjeje të re."</string>
@@ -827,7 +817,7 @@
     <string name="callFailed_already_dialing" msgid="7250591188960691086">"Nuk mund të kryhet një telefonatë pasi një telefonatë tjetër dalëse është duke u kryer tashmë."</string>
     <string name="callFailed_already_ringing" msgid="2376603543544289303">"Nuk mund të kryhet një telefonatë sepse është një telefonatë hyrëse që nuk ka marrë përgjigje. Përgjigju ose refuzoje telefonatën hyrëse para se të kryesh një telefonatë të re."</string>
     <string name="callFailed_calling_disabled" msgid="5010992739401206283">"Nuk mund të kryhet një telefonatë sepse telefonata është çaktivizuar duke përdorur vetinë e sistemit ro.telephony.disable-call."</string>
-    <string name="callFailed_too_many_calls" msgid="5379426826618582180">"Nuk mund të kryhet një telefonatë sepse janë tashmë dy telefonata në vazhdim. Shkëput një nga telefonatat ose shkriji ato në një konferencë para se të kryesh një telefonatë të re."</string>
+    <string name="callFailed_too_many_calls" msgid="2761754044990799580">"Nuk mund të kryhet një telefonatë sepse janë tashmë dy telefonata në vazhdim. Shkëput një nga telefonatat ose shkriji ato në një konferencë para se të kryesh një telefonatë të re."</string>
     <string name="supp_service_over_ut_precautions" msgid="2145018231396701311">"Për të përdorur <xliff:g id="SUPP_SERVICE">%s</xliff:g>, sigurohu që të dhënat celulare janë të aktivizuara. Mund ta ndryshosh këtë te cilësimet e rrjetit celular."</string>
     <string name="supp_service_over_ut_precautions_roaming" msgid="670342104569972327">"Për të përdorur <xliff:g id="SUPP_SERVICE">%s</xliff:g>, sigurohu që të dhënat celulare dhe roaming për të dhënat janë aktivizuar. Mund ta ndryshosh këtë te cilësimet e rrjetit celular."</string>
     <string name="supp_service_over_ut_precautions_dual_sim" msgid="5166866975550910474">"Për të përdorur <xliff:g id="SUPP_SERVICE">%1$s</xliff:g>, sigurohu që të dhënat celulare janë të aktivizuara për kartën SIM <xliff:g id="SIM_NUMBER">%2$d</xliff:g>. Mund ta ndryshosh këtë te cilësimet e rrjetit celular."</string>
@@ -845,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"Duhet të rinisësh pajisjen tënde për të ndryshuar këtë cilësim."</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"Rinis"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"Anulo"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"Caktoje kartën e lëvizshme eSIM si të parazgjedhur"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"Fuqia e radios së rrjetit celular"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"Shiko librin e adresave të kartës SIM"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"Shiko numrat me telefonim të përzgjedhur"</string>
@@ -899,6 +890,7 @@
     <string name="radio_info_band_mode_label" msgid="23480556225515290">"Përzgjidh brezin e radios"</string>
     <string name="radio_info_voice_network_type_label" msgid="2395347336419593265">"Lloji i rrjetit të zërit:"</string>
     <string name="radio_info_data_network_type_label" msgid="8886597029237501929">"Lloji i rrjetit të të dhënave:"</string>
+    <string name="radio_info_override_network_type_label" msgid="4176280017221092005">"Anulo llojin e rrjetit:"</string>
     <string name="phone_index_label" msgid="6222406512768964268">"Zgjidh indeksin e telefonit"</string>
     <string name="radio_info_set_perferred_label" msgid="7408131389363136210">"Cakto llojin e preferuar të rrjetit:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="6951237885381284790">"Verifiko emrin e pritësit (www.google.com) IPv4:"</string>
@@ -910,10 +902,10 @@
     <string name="radio_info_smsc_refresh_label" msgid="8409923721451604560">"Rifresko"</string>
     <string name="radio_info_toggle_dns_check_label" msgid="1394078554927787350">"Ndrysho kontrollin e DNS-së"</string>
     <string name="oem_radio_info_label" msgid="2914167475119997456">"Informacion/cilësime specifike për OEM"</string>
-    <string name="radio_info_endc_available" msgid="4410653375290113436">"Ofrohet EN-DC:"</string>
-    <string name="radio_info_dcnr_restricted" msgid="2469125498066960807">"DCNR me kufizime:"</string>
-    <string name="radio_info_nr_available" msgid="1321318331361249997">"Ofrohet NR:"</string>
-    <string name="radio_info_nr_state" msgid="1337571996788535356">"Gjendja e NR-së:"</string>
+    <string name="radio_info_endc_available" msgid="2983767110681230019">"EN-DC në dispozicion (NSA):"</string>
+    <string name="radio_info_dcnr_restricted" msgid="7147511536420148173">"DCNR me kufizime (NSA):"</string>
+    <string name="radio_info_nr_available" msgid="3383388088451237182">"NR në dispozicion (NSA):"</string>
+    <string name="radio_info_nr_state" msgid="4158805093187555149">"Gjendja e NR-së (NSA):"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"Frekuenca e NR-së:"</string>
     <string name="band_mode_title" msgid="7988822920724576842">"Cakto modalitetin e brezit të radios"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"Po ngarkon listën e brezave…"</string>
diff --git a/res/values-sr/strings.xml b/res/values-sr/strings.xml
index 7b1b5b2..5a494ec 100644
--- a/res/values-sr/strings.xml
+++ b/res/values-sr/strings.xml
@@ -637,16 +637,8 @@
     <string name="phone_in_ecm_notification_title" msgid="6825016389926367946">"Режим за хитан повратни позив"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="653972232922670335">"Веза за пренос података је онемогућена"</string>
     <string name="phone_in_ecm_notification_complete_time" msgid="7341624337163082759">"Веза за пренос података неће бити доступна до <xliff:g id="COMPLETETIME">%s</xliff:g>"</string>
-    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="5425906903766466743">
-      <item quantity="one">Телефон ће бити у Режиму хитног повратног позива <xliff:g id="COUNT_1">%s</xliff:g> минут. Док је у овом режиму не можете да користите апликације које користе везу за пренос података. Желите ли одмах да изађете из овог режима?</item>
-      <item quantity="few">Телефон ће бити у Режиму хитног повратног позива <xliff:g id="COUNT_1">%s</xliff:g> минута. Док је у овом режиму не можете да користите апликације које користе везу за пренос података. Желите ли одмах да изађете из овог режима?</item>
-      <item quantity="other">Телефон ће бити у Режиму хитног повратног позива <xliff:g id="COUNT_1">%s</xliff:g> минута. Док је у овом режиму не можете да користите апликације које користе везу за пренос података. Желите ли одмах да изађете из овог режима?</item>
-    </plurals>
-    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="1152682528741457004">
-      <item quantity="one">Изабрана радња није доступна док сте у Режиму хитног повратног позива. Телефон ће бити у овом режиму <xliff:g id="COUNT_1">%s</xliff:g> минут. Желите ли одмах да изађете из овог режима?</item>
-      <item quantity="few">Изабрана радња није доступна док сте у Режиму хитног повратног позива. Телефон ће бити у овом режиму <xliff:g id="COUNT_1">%s</xliff:g> минута. Желите ли одмах да изађете из овог режима?</item>
-      <item quantity="other">Изабрана радња није доступна док сте у Режиму хитног повратног позива. Телефон ће бити у овом режиму <xliff:g id="COUNT_1">%s</xliff:g> минута. Желите ли одмах да изађете из овог режима?</item>
-    </plurals>
+    <!-- format error in translation for alert_dialog_exit_ecm (7661603870224398025) -->
+    <!-- format error in translation for alert_dialog_not_avaialble_in_ecm (8717711120099503279) -->
     <string name="alert_dialog_in_ecm_call" msgid="1207545603149771978">"Изабрана радња није доступна када је у току хитан позив"</string>
     <string name="progress_dialog_exiting_ecm" msgid="9159080081676927217">"Излазак из Режима хитног повратног позива"</string>
     <string name="alert_dialog_yes" msgid="3532525979632841417">"Да"</string>
@@ -654,11 +646,7 @@
     <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">
-      <item quantity="one">Телефон ће <xliff:g id="COUNT_1">%s</xliff:g> минут бити у режиму за хитан повратни позив.\nЖелите сад да изађете из њега?</item>
-      <item quantity="few">Телефон ће <xliff:g id="COUNT_1">%s</xliff:g> минута бити у режиму за хитан повратни позив.\nЖелите сад да изађете из њега?</item>
-      <item quantity="other">Телефон ће <xliff:g id="COUNT_1">%s</xliff:g> минута бити у режиму за хитан повратни позив.\nЖелите сад да изађете из њега?</item>
-    </plurals>
+    <!-- format error in translation for alert_dialog_exit_ecm_without_data_restriction_hint (7549850847524907932) -->
     <string name="voicemail_provider" msgid="4158806657253745294">"Услуга"</string>
     <string name="voicemail_settings" msgid="4451045613238972776">"Подешавање"</string>
     <string name="voicemail_number_not_set" msgid="8831561283386938155">"&lt;Није подешено&gt;"</string>
@@ -686,7 +674,6 @@
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"Приступачност"</string>
     <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"WiFi позив од"</string>
     <string name="status_hint_label_wifi_call" msgid="942993035689809853">"WiFi позив"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"Додирните поново да бисте отворили"</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>
@@ -830,7 +817,7 @@
     <string name="callFailed_already_dialing" msgid="7250591188960691086">"Не можете да позовете јер се већ упућује други одлазни позив."</string>
     <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="callFailed_too_many_calls" msgid="2761754044990799580">"Не можете да позовете јер су два позива већ у току. Прекините један од њих или их обједините у конференцију да бисте упутили нови позив."</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>, уверите се да су за SIM <xliff:g id="SIM_NUMBER">%2$d</xliff:g> укључени мобилни подаци. То можете да промените у подешавањима мобилне мреже."</string>
@@ -848,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"Треба да рестартујте уређај да бисте променили ово подешавање."</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"Рестартуј"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"Откажи"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"Подеси преносиви eSIM као подразумевани"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"Напајање за радио на мобилним уређајима"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"Прикажи адресар SIM-а"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"Прикажи бројеве за фиксно бирање"</string>
@@ -902,6 +890,7 @@
     <string name="radio_info_band_mode_label" msgid="23480556225515290">"Изаберите радијски опсег"</string>
     <string name="radio_info_voice_network_type_label" msgid="2395347336419593265">"Тип гласовне мреже:"</string>
     <string name="radio_info_data_network_type_label" msgid="8886597029237501929">"Тип мреже за пренос података:"</string>
+    <string name="radio_info_override_network_type_label" msgid="4176280017221092005">"Замени тип мреже:"</string>
     <string name="phone_index_label" msgid="6222406512768964268">"Изаберите индекс телефона"</string>
     <string name="radio_info_set_perferred_label" msgid="7408131389363136210">"Подесите жељени тип мреже:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="6951237885381284790">"IPv4 имена хоста за пинговање (www.google.com):"</string>
@@ -913,10 +902,10 @@
     <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">"Информације/подешавања специфична за произвођача оригиналне опреме"</string>
-    <string name="radio_info_endc_available" msgid="4410653375290113436">"EN-DC доступно:"</string>
-    <string name="radio_info_dcnr_restricted" msgid="2469125498066960807">"DCNR ограничено:"</string>
-    <string name="radio_info_nr_available" msgid="1321318331361249997">"NR доступно:"</string>
-    <string name="radio_info_nr_state" msgid="1337571996788535356">"NR стање:"</string>
+    <string name="radio_info_endc_available" msgid="2983767110681230019">"EN-DC доступно (NSA):"</string>
+    <string name="radio_info_dcnr_restricted" msgid="7147511536420148173">"DCNR ограничено (NSA):"</string>
+    <string name="radio_info_nr_available" msgid="3383388088451237182">"NR доступно (NSA):"</string>
+    <string name="radio_info_nr_state" msgid="4158805093187555149">"NR стање (NSA):"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR учесталост:"</string>
     <string name="band_mode_title" msgid="7988822920724576842">"Подесите режим радијског опсега"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"Учитава се листа опсега…"</string>
diff --git a/res/values-sv/strings.xml b/res/values-sv/strings.xml
index 4b112c4..96dc41c 100644
--- a/res/values-sv/strings.xml
+++ b/res/values-sv/strings.xml
@@ -637,14 +637,8 @@
     <string name="phone_in_ecm_notification_title" msgid="6825016389926367946">"Läget Återuppringning vid nödsamtal"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="653972232922670335">"Dataanslutning inaktiverad"</string>
     <string name="phone_in_ecm_notification_complete_time" msgid="7341624337163082759">"Ingen dataanslutning förrän <xliff:g id="COMPLETETIME">%s</xliff:g>"</string>
-    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="5425906903766466743">
-      <item quantity="other">Mobilen försätts i nödsamtalsläge i <xliff:g id="COUNT_1">%s</xliff:g> minuter. I det här läget går det inte att använda några appar där en dataanslutning används. Vill du avsluta nu?</item>
-      <item quantity="one">Mobilen försätts i nödsamtalsläge i <xliff:g id="COUNT_0">%s</xliff:g> minut. I det här läget går det inte att använda några appar där en dataanslutning används. Vill du avsluta nu?</item>
-    </plurals>
-    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="1152682528741457004">
-      <item quantity="other">Den valda åtgärden är inte tillgänglig i nödsamtalsläget. Mobilen försätts i det här läget i <xliff:g id="COUNT_1">%s</xliff:g> minuter. Vill du avsluta nu?</item>
-      <item quantity="one">Den valda åtgärden är inte tillgänglig i nödsamtalsläget. Mobilen försätts i det här läget i <xliff:g id="COUNT_0">%s</xliff:g> minut. Vill du avsluta nu?</item>
-    </plurals>
+    <string name="alert_dialog_exit_ecm" msgid="7661603870224398025">"{count,plural, =1{Telefonen kommer att vara i läget Återuppringning vid nödsamtal i en minut. I det här läget kan inga appar som kräver en dataanslutning användas. Vill du avsluta nu?}other{Telefonen kommer att vara i läget Återuppringning vid nödsamtal i %s minuter. I det här läget kan inga appar som kräver en dataanslutning användas. Vill du avsluta nu?}}"</string>
+    <string name="alert_dialog_not_avaialble_in_ecm" msgid="8717711120099503279">"{count,plural, =1{Den valda åtgärden är inte tillgänglig i läget Återuppringning vid nödsamtal. Telefonen kommer att vara i det här läget i en minut. Vill du avsluta nu?}other{Den valda åtgärden är inte tillgänglig i läget Återuppringning vid nödsamtal. Telefonen kommer att vara i det här läget i %s minuter. Vill du avsluta nu?}}"</string>
     <string name="alert_dialog_in_ecm_call" msgid="1207545603149771978">"Den valda åtgärden är inte tillgänglig under nödsamtal."</string>
     <string name="progress_dialog_exiting_ecm" msgid="9159080081676927217">"Avslutar läget Återuppringning vid nödsamtal"</string>
     <string name="alert_dialog_yes" msgid="3532525979632841417">"Ja"</string>
@@ -652,10 +646,7 @@
     <string name="alert_dialog_dismiss" msgid="1336356286354517054">"Ta bort permanent"</string>
     <string name="phone_in_ecm_call_notification_text_without_data_restriction_hint" msgid="3747860785153531225">"Telefonen är i läget för återuppringning vid nödsamtal"</string>
     <string name="phone_in_ecm_notification_complete_time_without_data_restriction_hint" msgid="3690292264812050858">"Till <xliff:g id="COMPLETETIME">%s</xliff:g>"</string>
-    <plurals name="alert_dialog_exit_ecm_without_data_restriction_hint" formatted="false" msgid="6477733043040328640">
-      <item quantity="other">Telefonen kommer att vara i läget för återuppringning vid nödsamtal i <xliff:g id="COUNT_1">%s</xliff:g> minuter.\nVill du avsluta nu?</item>
-      <item quantity="one">Telefonen kommer att vara i läget för återuppringning vid nödsamtal i <xliff:g id="COUNT_0">%s</xliff:g> minut.\nVill du avsluta nu?</item>
-    </plurals>
+    <string name="alert_dialog_exit_ecm_without_data_restriction_hint" msgid="7549850847524907932">"{count,plural, =1{Telefonen kommer att vara i läget för återuppringning vid nödsamtal i en minut.\nVill du avsluta nu?}other{Telefonen kommer att vara i läget för återuppringning vid nödsamtal i %s minuter.\nVill du avsluta nu?}}"</string>
     <string name="voicemail_provider" msgid="4158806657253745294">"Tjänst"</string>
     <string name="voicemail_settings" msgid="4451045613238972776">"Konfiguration"</string>
     <string name="voicemail_number_not_set" msgid="8831561283386938155">"&lt;Har inte angetts&gt;"</string>
@@ -683,7 +674,6 @@
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"Tillgänglighet"</string>
     <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"wifi-samtal från"</string>
     <string name="status_hint_label_wifi_call" msgid="942993035689809853">"wifi-samtal"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"Tryck igen för att öppna"</string>
     <string name="message_decode_error" msgid="1061856591500290887">"Ett fel inträffade när meddelandet avkodades."</string>
     <string name="callFailed_cdma_activation" msgid="5392057031552253550">"Ett SIM-kort har använts för att aktivera tjänsten och uppdatera roamingfunktionerna i mobilen."</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"Det finns för många aktiva samtal. Avsluta eller slå samman pågående samtal innan du ringer ett nytt."</string>
@@ -827,7 +817,7 @@
     <string name="callFailed_already_dialing" msgid="7250591188960691086">"Det går inte att ringa ett samtal eftersom ett annat utgående samtal ringer upp."</string>
     <string name="callFailed_already_ringing" msgid="2376603543544289303">"Det går inte att ringa eftersom det finns ett obesvarat inkommande samtal. Svara eller avvisa det innan du ringer ett nytt samtal."</string>
     <string name="callFailed_calling_disabled" msgid="5010992739401206283">"Det går inte att ringa eftersom uppringning har inaktiverats med systemegenskapen ro.telephony.disable-call."</string>
-    <string name="callFailed_too_many_calls" msgid="5379426826618582180">"Det går inte att ringa eftersom det redan finns två pågående samtal. Koppla bort ett eller slå ihop dem till en konferens innan du ringer ett nytt samtal."</string>
+    <string name="callFailed_too_many_calls" msgid="2761754044990799580">"Det går inte att ringa eftersom det redan finns två pågående samtal. Koppla bort ett eller slå ihop dem till en konferens innan du ringer ett nytt samtal."</string>
     <string name="supp_service_over_ut_precautions" msgid="2145018231396701311">"Använd <xliff:g id="SUPP_SERVICE">%s</xliff:g> genom att säkerställa att mobildata är aktiverat. Det går att ändra i inställningarna för mobilt nätverk."</string>
     <string name="supp_service_over_ut_precautions_roaming" msgid="670342104569972327">"Använd <xliff:g id="SUPP_SERVICE">%s</xliff:g> genom att säkerställa att mobildata och dataroaming är aktiverat. Det går att ändra i inställningarna för mobilt nätverk."</string>
     <string name="supp_service_over_ut_precautions_dual_sim" msgid="5166866975550910474">"Använd <xliff:g id="SUPP_SERVICE">%1$s</xliff:g> genom att säkerställa att mobildata är aktiverat för SIM <xliff:g id="SIM_NUMBER">%2$d</xliff:g>. Det går att ändra i inställningarna för mobilt nätverk."</string>
@@ -845,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"Du måste starta om enheten för att ändra den här inställningen."</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"Starta om"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"Avbryt"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"Ställ in Flyttbart eSIM som standard"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"Strömförsörjning för mobilradio"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"Visa SIM-adressbok"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"Visa Fasta nummer"</string>
@@ -899,6 +890,7 @@
     <string name="radio_info_band_mode_label" msgid="23480556225515290">"Välj radioband"</string>
     <string name="radio_info_voice_network_type_label" msgid="2395347336419593265">"Nätverkstyp för röst:"</string>
     <string name="radio_info_data_network_type_label" msgid="8886597029237501929">"Typ av datanätverk:"</string>
+    <string name="radio_info_override_network_type_label" msgid="4176280017221092005">"Åsidosätt nätverkstyp:"</string>
     <string name="phone_index_label" msgid="6222406512768964268">"Välj telefonindex"</string>
     <string name="radio_info_set_perferred_label" msgid="7408131389363136210">"Ställ in önskad nätverkstyp:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="6951237885381284790">"Pinga värdnamn(www.google.com) IPv4:"</string>
@@ -910,10 +902,10 @@
     <string name="radio_info_smsc_refresh_label" msgid="8409923721451604560">"Uppdatera"</string>
     <string name="radio_info_toggle_dns_check_label" msgid="1394078554927787350">"Aktivera och inaktivera DNS-kontroll"</string>
     <string name="oem_radio_info_label" msgid="2914167475119997456">"OEM-specifik information/inställningar"</string>
-    <string name="radio_info_endc_available" msgid="4410653375290113436">"EN-DC tillgänglig:"</string>
-    <string name="radio_info_dcnr_restricted" msgid="2469125498066960807">"DCNR begränsad:"</string>
-    <string name="radio_info_nr_available" msgid="1321318331361249997">"NR tillgänglig:"</string>
-    <string name="radio_info_nr_state" msgid="1337571996788535356">"NR-status:"</string>
+    <string name="radio_info_endc_available" msgid="2983767110681230019">"EN-DC tillgängligt (NSA):"</string>
+    <string name="radio_info_dcnr_restricted" msgid="7147511536420148173">"DCNR begränsat (NSA):"</string>
+    <string name="radio_info_nr_available" msgid="3383388088451237182">"NR tillgängligt (NSA):"</string>
+    <string name="radio_info_nr_state" msgid="4158805093187555149">"NR-tillstånd (NSA):"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR-frekvens:"</string>
     <string name="band_mode_title" msgid="7988822920724576842">"Konfigurera radiobandsläget"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"Läser in bandlista …"</string>
diff --git a/res/values-sw/strings.xml b/res/values-sw/strings.xml
index 83727d0..202381f 100644
--- a/res/values-sw/strings.xml
+++ b/res/values-sw/strings.xml
@@ -637,14 +637,8 @@
     <string name="phone_in_ecm_notification_title" msgid="6825016389926367946">"hali ya kupiga tena simu ya Dharura"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="653972232922670335">"Muunganisho wa data umelemazwa"</string>
     <string name="phone_in_ecm_notification_complete_time" msgid="7341624337163082759">"Hakuna muunganisho wa data mpaka <xliff:g id="COMPLETETIME">%s</xliff:g>"</string>
-    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="5425906903766466743">
-      <item quantity="other">Simu itakuwa katika hali ya Simu ya Dharura kwa dakika <xliff:g id="COUNT_1">%s</xliff:g>. Ukiwa katika hali hii hakuna programu zinazotumia muunganisho wa data zinazoweza kutumiwa. Je, unataka kuondoka sasa?</item>
-      <item quantity="one">Simu itakuwa katika hali ya Simu ya Dharura kwa dakika <xliff:g id="COUNT_0">%s</xliff:g>. Ukiwa katika hali hii hakuna programu zinazotumia muunganisho wa data zinazoweza kutumiwa. Je, unataka kuondoka sasa?</item>
-    </plurals>
-    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="1152682528741457004">
-      <item quantity="other">Kitendo kilichochaguliwa hakipatikani ikiwa katika Simu ya Dharura. Simu itakuwa katika hali ya Simu ya Dharura kwa dakika <xliff:g id="COUNT_1">%s</xliff:g>. Je, unataka kuondoka sasa?</item>
-      <item quantity="one">Kitendo kilichochaguliwa hakipatikani ikiwa katika Simu ya Dharura. Simu itakuwa katika hali ya Simu ya Dharura kwa dakika <xliff:g id="COUNT_0">%s</xliff:g>. Je, unataka kuondoka sasa?</item>
-    </plurals>
+    <string name="alert_dialog_exit_ecm" msgid="7661603870224398025">"{count,plural, =1{Simu itakuwa katika hali ya Kuomba Upigiwe Simu ya Dharura kwa dakika moja. Ukiwa katika hali hii, programu zinazotumia muunganisho wa data haziwezi kutumika. Je, ungependa kufunga skrini hii sasa?}other{Simu itakuwa katika hali ya Kuomba Upigiwe Simu ya Dharura kwa dakika %s. Ukiwa katika hali hii, programu zinazotumia muunganisho wa data haziwezi kutumika. Je, ungependa kufunga skrini hii sasa?}}"</string>
+    <string name="alert_dialog_not_avaialble_in_ecm" msgid="8717711120099503279">"{count,plural, =1{Kitendo ulichochagua hakipatikana simu ikiwa katika Hali ya Kuomba Upigiwe Simu ya Dharura. Simu itakuwa katika hali hii kwa dakika moja. Je, ungependa kufunga sasa?}other{Kitendo ulichochagua hakipatikana simu ikiwa katika Hali ya Kuomba Upigiwe Simu ya Dharura. Simu itakuwa katika hali hii kwa dakika %s. Je, ungependa kufunga sasa?}}"</string>
     <string name="alert_dialog_in_ecm_call" msgid="1207545603149771978">"Kitendo kilichochaguliwa hakipatikani ikiwa katika simu ya dharura."</string>
     <string name="progress_dialog_exiting_ecm" msgid="9159080081676927217">"Inatoka kwa hali ya Kupiga tena simu ya Dharura"</string>
     <string name="alert_dialog_yes" msgid="3532525979632841417">"Ndiyo"</string>
@@ -652,10 +646,7 @@
     <string name="alert_dialog_dismiss" msgid="1336356286354517054">"Ondoa"</string>
     <string name="phone_in_ecm_call_notification_text_without_data_restriction_hint" msgid="3747860785153531225">"Simu hii iko katika hali ya kuomba upigiwe simu ya dharura"</string>
     <string name="phone_in_ecm_notification_complete_time_without_data_restriction_hint" msgid="3690292264812050858">"Hadi <xliff:g id="COMPLETETIME">%s</xliff:g>"</string>
-    <plurals name="alert_dialog_exit_ecm_without_data_restriction_hint" formatted="false" msgid="6477733043040328640">
-      <item quantity="other">Simu hii itakuwa katika hali ya kuomba upigiwe simu ya dharura kwa dakika <xliff:g id="COUNT_1">%s</xliff:g>.\nJe, ungependa kuondoka sasa?</item>
-      <item quantity="one">Simu hii itakuwa katika hali ya kuomba upigiwe simu ya dharura kwa dakika <xliff:g id="COUNT_0">%s</xliff:g>.\nJe, ungependa kuondoka sasa?</item>
-    </plurals>
+    <string name="alert_dialog_exit_ecm_without_data_restriction_hint" msgid="7549850847524907932">"{count,plural, =1{Simu itakuwa katika hali ya kuomba upigiwe simu ya dharura kwa dakika moja.\nJe, ungependa kufunga skrini hii sasa?}other{Simu itakuwa katika hali ya kuomba upigiwe simu ya dharura kwa dakika %s.\nJe, ungependa kufunga skrini hii sasa?}}"</string>
     <string name="voicemail_provider" msgid="4158806657253745294">"Huduma"</string>
     <string name="voicemail_settings" msgid="4451045613238972776">"Weka mipangilio"</string>
     <string name="voicemail_number_not_set" msgid="8831561283386938155">"&lt;Haijawekwa&gt;"</string>
@@ -683,7 +674,6 @@
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"Zana za ufikivu"</string>
     <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"Simu ya Wi-Fi kutoka kwa"</string>
     <string name="status_hint_label_wifi_call" msgid="942993035689809853">"Simu ya Wi-Fi"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"Gusa tena ili ufungue"</string>
     <string name="message_decode_error" msgid="1061856591500290887">"Hitilafu imetokea wakati wa usimbuaji wa ujumbe."</string>
     <string name="callFailed_cdma_activation" msgid="5392057031552253550">"SIM kadi yako imeanzisha huduma yako na kusasisha uwezo wa simu yako wa kutumia mitandao mingine."</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"Kuna simu nyingi mno zinazoendelea. Tafadhali kata au uunganishe simu zinazoendelea kabla hujapiga nyingine."</string>
@@ -827,7 +817,7 @@
     <string name="callFailed_already_dialing" msgid="7250591188960691086">"Haiwezi kupiga simu kwa sababu tayari unapiga simu nyingine."</string>
     <string name="callFailed_already_ringing" msgid="2376603543544289303">"Haiwezi kupiga simu kwa sababu kuna simu inayoingia ambayo hujajibu. Jibu au ukatae simu hiyo inayoingia kabla ya kupiga simu mpya."</string>
     <string name="callFailed_calling_disabled" msgid="5010992739401206283">"Haiwezi kupiga simu kwa sababu upigaji simu umezuiwa kupitia kipengele cha mfumo cha ro.telephony.disable-call."</string>
-    <string name="callFailed_too_many_calls" msgid="5379426826618582180">"Haiwezi kupiga simu kwa sababu tayari kuna simu mbili zinazoendelea. Kata mojawapo ya simu hizo au uziunganishe ili ziwe mkutano kabla ya kupiga simu mpya."</string>
+    <string name="callFailed_too_many_calls" msgid="2761754044990799580">"Haiwezi kupiga simu kwa sababu tayari kuna simu mbili zinazoendelea. Kata mojawapo ya simu hizo au uziunganishe ili ziwe mkutano kabla ya kupiga simu mpya."</string>
     <string name="supp_service_over_ut_precautions" msgid="2145018231396701311">"Ili uweze kutumia huduma ya <xliff:g id="SUPP_SERVICE">%s</xliff:g>, hakikisha data ya mtandao wa simu imewashwa. Unaweza kubadilisha hali hii katika mipangilio ya mtandao wa simu."</string>
     <string name="supp_service_over_ut_precautions_roaming" msgid="670342104569972327">"Ili uweze kutumia huduma ya <xliff:g id="SUPP_SERVICE">%s</xliff:g>, hakikisha vipengele vya data ya mtandao wa simu na matumizi ya mitandao ya ng\'ambo vimewashwa. Unaweza kubadilisha hali hizi kwenye mipangilio ya mtandao wa simu."</string>
     <string name="supp_service_over_ut_precautions_dual_sim" msgid="5166866975550910474">"Ili uweze kutumia huduma ya <xliff:g id="SUPP_SERVICE">%1$s</xliff:g>, hakikisha data ya mtandao wa simu imewashwa katika SIM <xliff:g id="SIM_NUMBER">%2$d</xliff:g>. Unaweza kubadilisha hali hii katika mipangilio ya data ya mtandao wa simu."</string>
@@ -845,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"Unahitaji kuzima kifaa chako na ukiwashe tena ili ubadilishe mipangilio hii."</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"Zima kisha uwashe"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"Ghairi"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"Weka eSIM Inayoweza Kuondolewa kama Chaguomsingi"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"Nishati ya Redio ya Vifaa vya Mkononi"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"Angalia Kitabu cha Anwani katika SIM"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"Ona Nambari za Simu Zilizobainishwa"</string>
@@ -899,6 +890,7 @@
     <string name="radio_info_band_mode_label" msgid="23480556225515290">"Chagua Bendi ya Redio"</string>
     <string name="radio_info_voice_network_type_label" msgid="2395347336419593265">"Aina ya Mtandao wa Sauti:"</string>
     <string name="radio_info_data_network_type_label" msgid="8886597029237501929">"Aina ya Mtandao wa Data:"</string>
+    <string name="radio_info_override_network_type_label" msgid="4176280017221092005">"Batilisha Aina ya Mtandao:"</string>
     <string name="phone_index_label" msgid="6222406512768964268">"Chagua faharasa ya simu"</string>
     <string name="radio_info_set_perferred_label" msgid="7408131389363136210">"Weka Aina ya Mtandao Unayoiopendelea:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="6951237885381284790">"Ita Jina la Mpangishaji(www.google.com) IPv4:"</string>
@@ -910,10 +902,10 @@
     <string name="radio_info_smsc_refresh_label" msgid="8409923721451604560">"Onyesha upya"</string>
     <string name="radio_info_toggle_dns_check_label" msgid="1394078554927787350">"Geuza Ukaguzi wa DNS"</string>
     <string name="oem_radio_info_label" msgid="2914167475119997456">"Maelezo/Mipangilio Mahususi kwa Kampuni Inayotengeneza Vifaa (OEM)"</string>
-    <string name="radio_info_endc_available" msgid="4410653375290113436">"EN-DC Inapatikana:"</string>
-    <string name="radio_info_dcnr_restricted" msgid="2469125498066960807">"DCNR Imewekewa Vizuizi:"</string>
-    <string name="radio_info_nr_available" msgid="1321318331361249997">"NR Inapatikana:"</string>
-    <string name="radio_info_nr_state" msgid="1337571996788535356">"Hali ya NR:"</string>
+    <string name="radio_info_endc_available" msgid="2983767110681230019">"EN-DC Inapatikana (NSA):"</string>
+    <string name="radio_info_dcnr_restricted" msgid="7147511536420148173">"DCNR Imedhibitiwa (NSA):"</string>
+    <string name="radio_info_nr_available" msgid="3383388088451237182">"NR Inapatikana (NSA):"</string>
+    <string name="radio_info_nr_state" msgid="4158805093187555149">"Hali ya NR (NSA):"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"Masafa ya NR:"</string>
     <string name="band_mode_title" msgid="7988822920724576842">"Weka Hali ya Bendi ya Redio"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"Inapakia Orodha ya Bendi…"</string>
diff --git a/res/values-ta/strings.xml b/res/values-ta/strings.xml
index 029c5bd..70276be 100644
--- a/res/values-ta/strings.xml
+++ b/res/values-ta/strings.xml
@@ -637,14 +637,8 @@
     <string name="phone_in_ecm_notification_title" msgid="6825016389926367946">"அவசரகால திரும்ப அழைக்கும் பயன்முறை"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="653972232922670335">"டேட்டா இணைப்பு முடக்கப்பட்டது"</string>
     <string name="phone_in_ecm_notification_complete_time" msgid="7341624337163082759">"<xliff:g id="COMPLETETIME">%s</xliff:g> வரை டேட்டா இணைப்பு இருக்காது"</string>
-    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="5425906903766466743">
-      <item quantity="other"><xliff:g id="COUNT_1">%s</xliff:g> நிமிடங்களுக்கு மொபைல் அவசரகால திரும்ப அழைக்கும் பயன்முறையில் இருக்கும். இந்தப் பயன்முறையில், டேட்டா இணைப்பைப் பயன்படுத்தாத பயன்பாடுகளைப் பயன்படுத்தலாம். இப்போது வெளியேற விரும்புகிறீர்களா?</item>
-      <item quantity="one"><xliff:g id="COUNT_0">%s</xliff:g> நிமிடத்திற்கு மொபைல் அவசரகால திரும்ப அழைக்கும் பயன்முறையில் இருக்கும். இந்தப் பயன்முறையில், டேட்டா இணைப்பைப் பயன்படுத்தாத பயன்பாடுகளைப் பயன்படுத்தலாம். இப்போது வெளியேற விரும்புகிறீர்களா?</item>
-    </plurals>
-    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="1152682528741457004">
-      <item quantity="other">அவசரகால திரும்ப அழைக்கும் பயன்முறை செயலில் இருக்கும்போது, தேர்ந்தெடுத்த செயல் கிடைக்காது. <xliff:g id="COUNT_1">%s</xliff:g> நிமிடங்களுக்கு மொபைல் இந்தப் பயன்முறையில் இருக்கும். இப்போது வெளியேற விரும்புகிறீர்களா?</item>
-      <item quantity="one">அவசரகால திரும்ப அழைக்கும் பயன்முறை செயலில் இருக்கும்போது, தேர்ந்தெடுத்த செயல் கிடைக்காது. <xliff:g id="COUNT_0">%s</xliff:g> நிமிடத்திற்கு மொபைல் இந்தப் பயன்முறையில் இருக்கும். இப்போது வெளியேற விரும்புகிறீர்களா?</item>
-    </plurals>
+    <string name="alert_dialog_exit_ecm" msgid="7661603870224398025">"{count,plural, =1{அவசரகால அழைப்பு பெறும் பயன்முறையில் ஒரு நிமிடத்திற்கு மொபைல் இருக்கும். இந்தப் பயன்முறையில் இருக்கும்போது டேட்டா இணைப்பைப் பயன்படுத்தும் ஆப்ஸ் எதையும் பயன்படுத்த முடியாது. இப்போதே வெளியேற விரும்புகிறீர்களா?}other{அவசரகால அழைப்பு பெறும் பயன்முறையில் %s நிமிடங்களுக்கு மொபைல் இருக்கும். இந்தப் பயன்முறையில் இருக்கும்போது டேட்டா இணைப்பைப் பயன்படுத்தும் ஆப்ஸ் எதையும் பயன்படுத்த முடியாது. இப்போதே வெளியேற விரும்புகிறீர்களா?}}"</string>
+    <string name="alert_dialog_not_avaialble_in_ecm" msgid="8717711120099503279">"{count,plural, =1{தேர்ந்தெடுத்த செயல்பாட்டை அவசரகால அழைப்பு பெறும் பயன்முறையில் இருக்கும்போது பயன்படுத்த முடியாது. ஒரு நிமிடத்திற்கு இந்தப் பயன்முறையில் மொபைல் இருக்கும். இப்போதே வெளியேற விரும்புகிறீர்களா?}other{தேர்ந்தெடுத்த செயல்பாட்டை அவசரகால அழைப்பு பெறும் பயன்முறையில் இருக்கும்போது பயன்படுத்த முடியாது. %s நிமிடங்களுக்கு இந்தப் பயன்முறையில் மொபைல் இருக்கும். இப்போதே வெளியேற விரும்புகிறீர்களா?}}"</string>
     <string name="alert_dialog_in_ecm_call" msgid="1207545603149771978">"அவசரகால அழைப்பு செயலில் இருக்கும்போது தேர்ந்தெடுத்த செயல் கிடைக்காது."</string>
     <string name="progress_dialog_exiting_ecm" msgid="9159080081676927217">"அவசரகால திரும்ப அழைக்கும் பயன்முறையிலிருந்து வெளியேறுகிறது"</string>
     <string name="alert_dialog_yes" msgid="3532525979632841417">"ஆம்"</string>
@@ -652,10 +646,7 @@
     <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">
-      <item quantity="other">மொபைல் இன்னும் <xliff:g id="COUNT_1">%s</xliff:g> நிமிடங்களுக்கு அவசரகால திரும்ப அழைக்கும் பயன்முறையில் இருக்கும்.\nஇப்போதே அதை விட்டு வெளியேறவா?</item>
-      <item quantity="one">மொபைல் இன்னும் <xliff:g id="COUNT_0">%s</xliff:g> நிமிடத்திற்கு அவசரகால திரும்ப அழைக்கும் பயன்முறையில் இருக்கும்.\nஇப்போதே அதை விட்டு வெளியேறவா?</item>
-    </plurals>
+    <string name="alert_dialog_exit_ecm_without_data_restriction_hint" msgid="7549850847524907932">"{count,plural, =1{அவசரகால அழைப்பு பெறும் பயன்முறையில் ஒரு நிமிடத்திற்கு மொபைல் இருக்கும்.\nஇப்போதே வெளியேற விரும்புகிறீர்களா?}other{அவசரகால அழைப்பு பெறும் பயன்முறையில் %s நிமிடங்களுக்கு மொபைல் இருக்கும்.\nஇப்போதே வெளியேற விரும்புகிறீர்களா?}}"</string>
     <string name="voicemail_provider" msgid="4158806657253745294">"சேவை"</string>
     <string name="voicemail_settings" msgid="4451045613238972776">"அமைவு"</string>
     <string name="voicemail_number_not_set" msgid="8831561283386938155">"&lt;அமைக்கப்படவில்லை&gt;"</string>
@@ -683,7 +674,6 @@
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"அணுகல் தன்மை"</string>
     <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"வைஃபை அழைப்பு:"</string>
     <string name="status_hint_label_wifi_call" msgid="942993035689809853">"வைஃபை அழைப்பு"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"திறக்க, மீண்டும் தட்டவும்"</string>
     <string name="message_decode_error" msgid="1061856591500290887">"செய்தியைக் குறிவிலக்கும்போது பிழை ஏற்பட்டது."</string>
     <string name="callFailed_cdma_activation" msgid="5392057031552253550">"ஏற்கனவே சிம் கார்டைப் பயன்படுத்தி சேவை இயக்கப்பட்டது மற்றும் மொபைலின் ரோமிங் செயல்திறன்கள் புதுப்பிக்கப்பட்டன."</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"மிகவும் அதிக அளவிலான அழைப்புகள் செயலில் உள்ளன. புதிய அழைப்பை மேற்கொள்ளும் முன், ஏற்கனவேயுள்ள அழைப்புகளைத் துண்டிக்கவும் அல்லது ஒன்றாகப் பிணைக்கவும்."</string>
@@ -827,7 +817,7 @@
     <string name="callFailed_already_dialing" msgid="7250591188960691086">"ஏற்கனவே ஒரு அழைப்பு டயல் ஆகிக்கொண்டிருப்பதால், இந்த அழைப்பைச் செய்ய முடியாது."</string>
     <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="callFailed_too_many_calls" msgid="2761754044990799580">"இரண்டு அழைப்புகள் செயலில் இருப்பதால் தற்போது அழைப்பைச் செய்ய முடியாது. அழைப்பைச் செய்ய வேண்டுமெனில், செயலில் உள்ள அழைப்புகளில் ஏதேனும் ஒன்றைத் துண்டிக்கவும் அல்லது அழைப்பதற்கு முன் அவற்றை இணைத்து குழு அழைப்பாக மாற்றவும்."</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>
@@ -845,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"இந்த அமைப்பை மாற்ற சாதனத்தை மீண்டும் தொடங்க வேண்டும்."</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"மீண்டும் தொடங்கு"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"ரத்துசெய்"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"அகற்றக்கூடிய eSIMமை இயல்பாக அமை"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"மொபைல் ரேடியோ பவர்"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"சிம் முகவரிப் புத்தகத்தைக் காட்டு"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"நிலையான அழைப்பு எண்களைக் காட்டு"</string>
@@ -899,6 +890,7 @@
     <string name="radio_info_band_mode_label" msgid="23480556225515290">"ரேடியோ பேண்டைத் தேர்ந்தெடுக்கவும்"</string>
     <string name="radio_info_voice_network_type_label" msgid="2395347336419593265">"குரல் நெட்வொர்க் வகை:"</string>
     <string name="radio_info_data_network_type_label" msgid="8886597029237501929">"டேட்டா நெட்வொர்க்கின் வகை:"</string>
+    <string name="radio_info_override_network_type_label" msgid="4176280017221092005">"மீறிச் செயல்படும் நெட்வொர்க் வகை:"</string>
     <string name="phone_index_label" msgid="6222406512768964268">"ஃபோன் அட்டவணையைத் தேர்ந்தெடுக்கவும்"</string>
     <string name="radio_info_set_perferred_label" msgid="7408131389363136210">"விரும்பப்படும் நெட்வொர்க் வகையை அமைக்கவும்:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="6951237885381284790">"ஹோஸ்ட்பெயர்(www.google.com) IPv4ஐப் பிங் செய்:"</string>
@@ -910,10 +902,10 @@
     <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>
-    <string name="radio_info_dcnr_restricted" msgid="2469125498066960807">"DCNR கட்டுப்படுத்தப்பட்டது:"</string>
-    <string name="radio_info_nr_available" msgid="1321318331361249997">"NR உள்ளது:"</string>
-    <string name="radio_info_nr_state" msgid="1337571996788535356">"NR நிலை:"</string>
+    <string name="radio_info_endc_available" msgid="2983767110681230019">"EN-DC உள்ளது (NSA):"</string>
+    <string name="radio_info_dcnr_restricted" msgid="7147511536420148173">"DCNR கட்டுப்படுத்தப்பட்டது (NSA):"</string>
+    <string name="radio_info_nr_available" msgid="3383388088451237182">"NR உள்ளது (NSA):"</string>
+    <string name="radio_info_nr_state" msgid="4158805093187555149">"NR நிலை (NSA):"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR அலைவரிசை:"</string>
     <string name="band_mode_title" msgid="7988822920724576842">"ரேடியோ பேண்டு பயன்முறையை அமை"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"பேண்டு பட்டியலை ஏற்றுகிறது…"</string>
diff --git a/res/values-te/strings.xml b/res/values-te/strings.xml
index 7285442..581b586 100644
--- a/res/values-te/strings.xml
+++ b/res/values-te/strings.xml
@@ -47,12 +47,12 @@
     <string name="no_vm_number" msgid="6623853880546176930">"వాయిస్ మెయిల్ నంబర్ లేదు"</string>
     <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="voice_number_setting_primary_user_only" msgid="3394706575741912843">"వాయిస్ మెయిల్ సెట్టింగ్‌లను ప్రాథమిక వినియోగదారు మాత్రమే ఎడిట్ చేయగలరు."</string>
     <string name="puk_unlocked" msgid="4627340655215746511">"మీ SIM కార్డు అన్‌బ్లాక్ చేయబడింది. మీ ఫోన్ అన్‌లాక్ చేయబడుతోంది…"</string>
     <string name="label_ndp" msgid="7617392683877410341">"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>
@@ -105,23 +105,23 @@
     <string name="labelCF" msgid="3578719437928476078">"కాల్ ఫార్వార్డింగ్"</string>
     <string name="labelCFU" msgid="8870170873036279706">"ఎల్లప్పుడూ ఫార్వర్డ్ చేయి"</string>
     <string name="messageCFU" msgid="1361806450979589744">"ఎల్లప్పుడూ ఈ నంబర్‌ను ఉపయోగించు"</string>
-    <string name="sum_cfu_enabled_indicator" msgid="9030139213402432776">"అన్ని కాల్స్‌ను ఫార్వార్డ్ చేస్తోంది"</string>
-    <string name="sum_cfu_enabled" msgid="5806923046528144526">"అన్ని కాల్స్‌ను <xliff:g id="PHONENUMBER">{0}</xliff:g>కి ఫార్వార్డ్ చేస్తోంది"</string>
+    <string name="sum_cfu_enabled_indicator" msgid="9030139213402432776">"అన్ని కాల్స్‌ను ఫార్వర్డ్ చేస్తోంది"</string>
+    <string name="sum_cfu_enabled" msgid="5806923046528144526">"అన్ని కాల్స్‌ను <xliff:g id="PHONENUMBER">{0}</xliff:g>కి ఫార్వర్డ్ చేస్తోంది"</string>
     <string name="sum_cfu_enabled_no_number" msgid="7287752761743377930">"నంబర్ అందుబాటులో లేదు"</string>
     <string name="sum_cfu_disabled" msgid="5010617134210809853">"ఆఫ్‌లో ఉంది"</string>
     <string name="labelCFB" msgid="615265213360512768">"బిజీగా ఉన్నప్పుడు"</string>
     <string name="messageCFB" msgid="1958017270393563388">"బిజీగా ఉన్నప్పుడు ఫార్వర్డ్ చేయాల్సిన నంబర్"</string>
-    <string name="sum_cfb_enabled" msgid="332037613072049492">"<xliff:g id="PHONENUMBER">{0}</xliff:g>కి ఫార్వార్డ్ చేస్తోంది"</string>
+    <string name="sum_cfb_enabled" msgid="332037613072049492">"<xliff:g id="PHONENUMBER">{0}</xliff:g>కి ఫార్వర్డ్ చేస్తోంది"</string>
     <string name="sum_cfb_disabled" msgid="3589913334164866035">"ఆఫ్‌లో ఉంది"</string>
     <string name="disable_cfb_forbidden" msgid="4831494744351633961">"మీ ఫోన్ బిజీగా ఉన్నప్పుడు కాల్ ఫార్వర్డింగ్‌ను నిలిపివేయడానికి మీ ఆపరేటర్ మద్దతు ఇవ్వరు."</string>
     <string name="labelCFNRy" msgid="3403533792248457946">"సమాధానం ఇవ్వనప్పుడు"</string>
     <string name="messageCFNRy" msgid="7644434155765359009">"సమాధానం ఇవ్వనప్పుడు నంబర్"</string>
-    <string name="sum_cfnry_enabled" msgid="3000500837493854799">"<xliff:g id="PHONENUMBER">{0}</xliff:g>కి ఫార్వార్డ్ చేస్తోంది"</string>
+    <string name="sum_cfnry_enabled" msgid="3000500837493854799">"<xliff:g id="PHONENUMBER">{0}</xliff:g>కి ఫార్వర్డ్ చేస్తోంది"</string>
     <string name="sum_cfnry_disabled" msgid="1990563512406017880">"ఆఫ్‌లో ఉంది"</string>
     <string name="disable_cfnry_forbidden" msgid="3174731413216550689">"మీ ఫోన్ సమాధానం ఇవ్వలేనప్పుడు కాల్ ఫార్వర్డింగ్‌ను నిలిపివేయడానికి మీ ఆపరేటర్ మద్దతు ఇవ్వరు."</string>
     <string name="labelCFNRc" msgid="4163399350778066013">"చేరుకోలేనప్పుడు"</string>
     <string name="messageCFNRc" msgid="6980340731313007250">"చేరుకోవడం సాధ్యపడనప్పుడు నంబర్"</string>
-    <string name="sum_cfnrc_enabled" msgid="1799069234006073477">"<xliff:g id="PHONENUMBER">{0}</xliff:g>కి ఫార్వార్డ్ చేస్తోంది"</string>
+    <string name="sum_cfnrc_enabled" msgid="1799069234006073477">"<xliff:g id="PHONENUMBER">{0}</xliff:g>కి ఫార్వర్డ్ చేస్తోంది"</string>
     <string name="sum_cfnrc_disabled" msgid="739289696796917683">"ఆఫ్‌లో ఉంది"</string>
     <string name="disable_cfnrc_forbidden" msgid="775348748084726890">"మీ ఫోన్‌ను చేరుకోవడం సాధ్యపడనప్పుడు కాల్ ఫార్వర్డింగ్‌ను నిలిపివేయడానికి మీ క్యారియర్ మద్దతు ఇవ్వదు."</string>
     <string name="registration_cf_forbidden" msgid="4386482610771190420">"కాల్ ఫార్వర్డింగ్‌ను మీ క్యారియర్ సపోర్ట్ చేయదు."</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>
@@ -167,7 +167,7 @@
     <string name="vm_change_pin_progress_message" msgid="626015184502739044">"దయచేసి వేచి ఉండండి."</string>
     <string name="vm_change_pin_error_too_short" msgid="1789139338449945483">"కొత్త PIN చాలా చిన్నదిగా ఉంది."</string>
     <string name="vm_change_pin_error_too_long" msgid="3634907034310018954">"కొత్త PIN చాలా పొడవు ఉంది."</string>
-    <string name="vm_change_pin_error_too_weak" msgid="8581892952627885719">"కొత్త PIN చాలా బలహీనంగా ఉంది. శక్తివంతమైన పాస్‌వర్డ్‌లో వరుస శ్రేణిలో అక్షరాలు/అంకెలు లేదా పునరావృత అంకెలు ఉండకూడదు."</string>
+    <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>
@@ -279,7 +279,7 @@
     <!-- no translation found for enhanced_4g_lte_mode_sumary_variant:1 (5262249464504131443) -->
     <!-- no translation found for enhanced_4g_lte_mode_sumary_variant:2 (6356974241850241718) -->
     <string name="data_enabled" msgid="22525832097434368">"డేటా ప్రారంభించబడింది"</string>
-    <string name="data_enable_summary" msgid="696860063456536557">"డేటా వినియోగాన్ని అనుమతించు"</string>
+    <string name="data_enable_summary" msgid="696860063456536557">"డేటా వినియోగాన్ని అనుమతించండి"</string>
     <string name="dialog_alert_title" msgid="5260471806940268478">"హెచ్చరిక"</string>
     <string name="roaming" msgid="1576180772877858949">"రోమింగ్"</string>
     <string name="roaming_enable" msgid="6853685214521494819">"రోమింగ్‌లో ఉన్నప్పుడు డేటా సర్వీసులకు కనెక్ట్ చేయండి"</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">"మొబైల్ డేటా"</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="OLD_SIM">%2$s</xliff:g>కి బదులుగా <xliff:g id="NEW_SIM">%1$s</xliff:g>ని ఉపయోగించాలా?"</string>
@@ -471,13 +471,13 @@
     <string name="fdn_contact_added" msgid="2840016151693394596">"ఫిక్స్‌డ్ డయలింగ్ నంబర్ జోడించబడింది."</string>
     <string name="edit_fdn_contact" msgid="6030829994819587408">"ఫిక్స్‌డ్ డయలింగ్ నంబర్‌ను ఎడిట్ చేయండి"</string>
     <string name="updating_fdn_contact" msgid="6989341376868227150">"ఫిక్స్‌డ్ డయలింగ్ నంబర్‌ను అప్‌డేట్ చేస్తోంది..."</string>
-    <string name="fdn_contact_updated" msgid="6876330243323118937">"ఫిక్స్‌డ్ డయలింగ్ నంబర్ నవీకరించబడింది."</string>
+    <string name="fdn_contact_updated" msgid="6876330243323118937">"ఫిక్స్‌డ్ డయలింగ్ నంబర్ అప్‌డేట్ చేయబడింది."</string>
     <string name="delete_fdn_contact" msgid="7027405651994507077">"ఫిక్స్‌డ్ డయలింగ్ నంబర్‌ను తొలగించండి"</string>
     <string name="deleting_fdn_contact" msgid="6872320570844460428">"ఫిక్స్‌డ్ డయలింగ్ నంబర్‌ను తొలగిస్తోంది..."</string>
     <string name="fdn_contact_deleted" msgid="1680714996763848838">"ఫిక్స్‌డ్ డయలింగ్ నంబర్ తొలగించబడింది."</string>
-    <string name="pin2_invalid" msgid="2313954262684494442">"మీరు చెల్లని PINను టైప్ చేసినందున FDN నవీకరించబడలేదు."</string>
+    <string name="pin2_invalid" msgid="2313954262684494442">"మీరు చెల్లని PINను టైప్ చేసినందున FDN అప్‌డేట్ చేయబడలేదు."</string>
     <string name="fdn_invalid_number" msgid="9067189814657840439">"నంబర్ <xliff:g id="FDN_NUMBER_LIMIT_LENGTH">%d</xliff:g> అంకెలను మించినందున FDN అప్‌డేట్ చేయబడలేదు."</string>
-    <string name="pin2_or_fdn_invalid" msgid="7542639487955868181">"FDN నవీకరించబడలేదు. PIN2 చెల్లదు లేదా ఫోన్ నంబర్ తిరస్కరించబడింది."</string>
+    <string name="pin2_or_fdn_invalid" msgid="7542639487955868181">"FDN అప్‌డేట్ చేయబడలేదు. PIN2 చెల్లదు లేదా ఫోన్ నంబర్ తిరస్కరించబడింది."</string>
     <string name="fdn_failed" msgid="216592346853420250">"FDN చర్య విఫలమైంది."</string>
     <string name="simContacts_emptyLoading" msgid="4989040293858675483">"SIM కార్డు నుండి చదువుతోంది…"</string>
     <string name="simContacts_empty" msgid="1135632055473689521">"మీ SIM కార్డులో కాంటాక్ట్‌లు ఏవీ లేవు."</string>
@@ -498,7 +498,7 @@
     <string name="enable_pin_ok" msgid="2877428038280804256">"PIN సెట్ చేయబడింది"</string>
     <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="pin_changed" msgid="7291153750090452808">"PIN అప్‌డేట్ చేయబడింది"</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>
@@ -509,7 +509,7 @@
     <string name="mismatchPin2" msgid="4952718725266700631">"PIN2లు సరిపోలలేదు. మళ్లీ ప్రయత్నించండి."</string>
     <string name="invalidPin2" msgid="6467957903056379343">"4 నుండి 8 సంఖ్యలు ఉండే PIN2ని నమోదు చేయండి."</string>
     <string name="invalidPuk2" msgid="713729511903849544">"8 సంఖ్యలు ఉండే PUK2ను నమోదు చేయండి."</string>
-    <string name="pin2_changed" msgid="5710551850481287821">"PIN2 నవీకరించబడింది"</string>
+    <string name="pin2_changed" msgid="5710551850481287821">"PIN2 అప్‌డేట్ చేయబడింది"</string>
     <string name="label_puk2_code" msgid="2852217004288085562">"PUK2 కోడ్‌ను నమోదు చేయండి"</string>
     <string name="fdn_enable_puk2_requested" msgid="5793652792131588041">"పాస్‌వర్డ్ చెల్లదు. PIN2 ఇప్పుడు బ్లాక్ చేయబడింది. మళ్లీ ప్రయత్నించడానికి, PIN 2ను మార్చండి."</string>
     <string name="puk2_requested" msgid="6992374450720307514">"పాస్‌వర్డ్ చెల్లదు. SIM ఇప్పుడు లాక్ చేయబడింది. PUK2ని నమోదు చేయండి."</string>
@@ -586,10 +586,10 @@
     <string name="onscreenManageConferenceText" msgid="4700574060601755137">"కాన్ఫరెన్స్‌ను నిర్వహించు"</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>
+    <string name="importSimEntry" msgid="3892354284082689894">"దిగుమతి చేయండి"</string>
+    <string name="importAllSimEntries" msgid="2628391505643564007">"అన్నింటినీ దిగుమతి చేయండి"</string>
     <string name="importingSimContacts" msgid="4995457122107888932">"SIM కాంటాక్ట్‌లను దిగుమతి చేస్తోంది"</string>
-    <string name="importToFDNfromContacts" msgid="5068664870738407341">"కాంటాక్ట్‌ల నుండి దిగుమతి చేయి"</string>
+    <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>
@@ -637,25 +637,16 @@
     <string name="phone_in_ecm_notification_title" msgid="6825016389926367946">"అత్యవసర కాల్‌బ్యాక్ మోడ్"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="653972232922670335">"డేటా కనెక్షన్ నిలిపివేయబడింది"</string>
     <string name="phone_in_ecm_notification_complete_time" msgid="7341624337163082759">"<xliff:g id="COMPLETETIME">%s</xliff:g> వరకు డేటా కనెక్షన్ ఉండదు"</string>
-    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="5425906903766466743">
-      <item quantity="other">ఫోన్ <xliff:g id="COUNT_1">%s</xliff:g> నిమిషాల పాటు అత్యవసర కాల్‌బ్యాక్ మోడ్‌లో ఉంటుంది. ఈ మోడ్‌లో ఉన్నప్పుడు, డేటా కనెక్షన్‌ను ఉపయోగించే యాప్‌లు ఏవీ ఉపయోగించబడవు. మీరు ఇప్పుడు నిష్క్రమించాలనుకుంటున్నారా?</item>
-      <item quantity="one">ఫోన్ <xliff:g id="COUNT_0">%s</xliff:g> నిమిషం పాటు అత్యవసర కాల్‌బ్యాక్ మోడ్‌లో ఉంటుంది. ఈ మోడ్‌లో ఉన్నప్పుడు, డేటా కనెక్షన్‌ను ఉపయోగించే యాప్‌లు ఏవీ ఉపయోగించబడవు. మీరు ఇప్పుడు నిష్క్రమించాలనుకుంటున్నారా?</item>
-    </plurals>
-    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="1152682528741457004">
-      <item quantity="other">అత్యవసర కాల్‌బ్యాక్ మోడ్‌లో ఉన్నప్పుడు, ఎంచుకున్న చర్య అందుబాటులో లేదు. ఫోన్ <xliff:g id="COUNT_1">%s</xliff:g> నిమిషాల పాటు ఈ మోడ్‌లో ఉంటుంది. మీరు ఇప్పుడు నిష్క్రమించాలనుకుంటున్నారా?</item>
-      <item quantity="one">అత్యవసర కాల్‌బ్యాక్ మోడ్‌లో ఉన్నప్పుడు, ఎంచుకున్న చర్య అందుబాటులో లేదు. ఫోన్ <xliff:g id="COUNT_0">%s</xliff:g> నిమిషం పాటు ఈ మోడ్‌లో ఉంటుంది. మీరు ఇప్పుడు నిష్క్రమించాలనుకుంటున్నారా?</item>
-    </plurals>
+    <string name="alert_dialog_exit_ecm" msgid="7661603870224398025">"{count,plural, =1{ఫోన్ ఒక నిమిషం పాటు ఎమర్జెన్సీ కాల్‌బ్యాక్ మోడ్‌లో ఉంటుంది. ఈ మోడ్‌లో ఉన్నప్పుడు డేటా కనెక్షన్‌ను ఉపయోగించే యాప్‌లు ఏవీ ఉపయోగించబడవు. మీరు ఇప్పుడు నిష్క్రమించాలనుకుంటున్నారా?}other{ఫోన్ %s నిమిషాల పాటు ఎమర్జెన్సీ కాల్‌బ్యాక్ మోడ్‌లో ఉంటుంది. ఈ మోడ్‌లో ఉన్నప్పుడు డేటా కనెక్షన్‌ను ఉపయోగించే యాప్‌లు ఏవీ ఉపయోగించబడవు. మీరు ఇప్పుడు నిష్క్రమించాలనుకుంటున్నారా?}}"</string>
+    <string name="alert_dialog_not_avaialble_in_ecm" msgid="8717711120099503279">"{count,plural, =1{ఎమర్జెన్సీ కాల్‌బ్యాక్ మోడ్‌లో ఉన్నప్పుడు ఎంచుకున్న చర్య అందుబాటులో ఉండదు. ఫోన్ ఈ మోడ్‌లో ఒక నిమిషం పాటు ఉంటుంది. మీరు ఇప్పుడే నిష్క్రమించాలనుకుంటున్నారా?}other{ఎమర్జెన్సీ కాల్‌బ్యాక్ మోడ్‌లో ఉన్నప్పుడు ఎంచుకున్న చర్య అందుబాటులో ఉండదు. ఫోన్ ఈ మోడ్‌లో %s నిమిషాల పాటు ఉంటుంది. మీరు ఇప్పుడే నిష్క్రమించాలనుకుంటున్నారా?}}"</string>
     <string name="alert_dialog_in_ecm_call" msgid="1207545603149771978">"ఎంచుకున్న చర్య అత్యవసర కాల్‌లో ఉన్నప్పుడు అందుబాటులో ఉండదు."</string>
     <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">
-      <item quantity="other">ఫోన్ అత్యవసర కాల్‌బ్యాక్ మోడ్‌లో <xliff:g id="COUNT_1">%s</xliff:g> నిమిషాల పాటు ఉంటుంది.\n మీరు ఇప్పుడే నిష్క్రమించాలనుకుంటున్నారా?</item>
-      <item quantity="one">ఫోన్ అత్యవసర కాల్‌బ్యాక్ మోడ్‌లో <xliff:g id="COUNT_0">%s</xliff:g> నిమిషం పాటు ఉంటుంది. \n మీరు ఇప్పుడే నిష్క్రమించాలనుకుంటున్నారా?</item>
-    </plurals>
+    <string name="alert_dialog_exit_ecm_without_data_restriction_hint" msgid="7549850847524907932">"{count,plural, =1{ఫోన్ ఒక నిమిషం పాటు ఎమర్జెన్సీ కాల్‌బ్యాక్ మోడ్‌లో ఉంటుంది.\nమీరు ఇప్పుడే నిష్క్రమించాలనుకుంటున్నారా?}other{ఫోన్ %s నిమిషాల పాటు ఎమర్జెన్సీ కాల్‌బ్యాక్ మోడ్‌లో ఉంటుంది.\nమీరు ఇప్పుడే నిష్క్రమించాలనుకుంటున్నారా?}}"</string>
     <string name="voicemail_provider" msgid="4158806657253745294">"సేవ"</string>
     <string name="voicemail_settings" msgid="4451045613238972776">"సెటప్"</string>
     <string name="voicemail_number_not_set" msgid="8831561283386938155">"&lt;సెట్ చేయలేదు&gt;"</string>
@@ -683,9 +674,8 @@
     <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="callFailed_cdma_activation" msgid="5392057031552253550">"SIM కార్డ్ మీ సేవను సక్రియం చేసింది మరియు మీ ఫోన్ రోమింగ్ సామర్థ్యాలను నవీకరించింది."</string>
+    <string name="callFailed_cdma_activation" msgid="5392057031552253550">"SIM కార్డ్ మీ సేవను సక్రియం చేసింది మరియు మీ ఫోన్ రోమింగ్ సామర్థ్యాలను అప్‌డేట్ చేసింది."</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>
@@ -703,7 +693,7 @@
     <string name="change_pin_enter_new_pin_hint" msgid="2326038476516364210">"PIN తప్పనిసరిగా <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">"మీ PINని నిర్ధారించండి"</string>
     <string name="change_pin_confirm_pins_dont_match" msgid="305164501222587215">"PINలు సరిపోలలేదు"</string>
-    <string name="change_pin_succeeded" msgid="2504705600693014403">"వాయిస్ మెయిల్ PIN నవీకరించబడింది"</string>
+    <string name="change_pin_succeeded" msgid="2504705600693014403">"వాయిస్ మెయిల్ PIN అప్‌డేట్ చేయబడింది"</string>
     <string name="change_pin_system_error" msgid="7772788809875146873">"PINని సెట్ చేయడం సాధ్యపడలేదు"</string>
     <string name="mobile_data_status_roaming_turned_off_subtext" msgid="6840673347416227054">"డేటా రోమింగ్ ఆఫ్ చేయబడింది"</string>
     <string name="mobile_data_status_roaming_turned_on_subtext" msgid="5615757897768777865">"డేటా రోమింగ్ ఆన్ చేయబడింది"</string>
@@ -807,32 +797,32 @@
     <string name="callFailed_NetworkBusy" msgid="5437103975842913681">"నెట్‌వర్క్ బిజీగా ఉంది. దయచేసి తిరిగి తర్వాత కాల్ చేయండి."</string>
     <string name="callFailed_NetworkCongested" msgid="6801283142342775380">"నెట్‌వర్క్‌లో అంతరాయం ఏర్పడింది. సహాయం కోసం మీ మొబైల్ ఆపరేటర్‌ను సంప్రదించండి."</string>
     <string name="supp_service_notification_call_deflected" msgid="4980942818105909813">"కాల్ మళ్లించబడింది."</string>
-    <string name="supp_service_notification_call_forwarded" msgid="7102930311735433088">"కాల్ ఫార్వార్డ్ చేయబడింది."</string>
+    <string name="supp_service_notification_call_forwarded" msgid="7102930311735433088">"కాల్ ఫార్వర్డ్ చేయబడింది."</string>
     <string name="supp_service_notification_call_waiting" msgid="4577403881609445324">"కాల్ నిరీక్షణలో ఉంది."</string>
     <string name="supp_service_clir_suppression_rejected" msgid="6105737020194776121">"నంబర్ బ్లాకింగ్ తిరస్కరించబడింది."</string>
     <string name="supp_service_closed_user_group_call" msgid="2811636666505250689">"దగ్గరి వినియోగదారు సమూహ కాల్."</string>
     <string name="supp_service_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_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>
     <string name="supp_service_call_on_hold" msgid="2836811319594503059">"కాల్ హోల్డ్‌లో ఉంది."</string>
     <string name="supp_service_call_resumed" msgid="3786864005920743546">"కాల్ మళ్లీ ప్రారంభించబడింది."</string>
     <string name="supp_service_deflected_call" msgid="7565979024562921707">"కాల్ మళ్లించబడింది."</string>
-    <string name="supp_service_forwarded_call" msgid="6475776013771821457">"కాల్ ఫార్వార్డ్ చేయబడింది."</string>
+    <string name="supp_service_forwarded_call" msgid="6475776013771821457">"కాల్ ఫార్వర్డ్ చేయబడింది."</string>
     <string name="supp_service_conference_call" msgid="4004193534408317148">"కాన్ఫరెన్స్ కాల్‌లో చేరుతున్నారు"</string>
     <string name="supp_service_held_call_released" msgid="2847835124639112410">"హోల్డ్‌లో ఉంచిన కాల్ ప్రారంభించబడింది."</string>
     <string name="callFailed_otasp_provisioning_in_process" msgid="3345666183602879326">"వినియోగదారుకు ప్రస్తుతం ఏ సేవలు అందుబాటులో ఉన్నాయనే విచారణ పనిలో పరికరం ఉన్నందున కాల్ చేయడం సాధ్యం కాదు."</string>
     <string name="callFailed_already_dialing" msgid="7250591188960691086">"ఇంకొక అవుట్‌గోయింగ్ కాల్ ఇప్పటికే చేస్తున్నందున మరో కాల్ చేయడం సాధ్యపడదు."</string>
     <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="callFailed_too_many_calls" msgid="2761754044990799580">"ఇప్పటికే రెండు కాల్స్ జరుగుతున్నందున కాల్ చేయడం సాధ్యపడదు. ఆ కాల్స్‌లో ఒకదానిని డిస్‌కనెక్ట్ చేయండి లేదా అవి రెండింటినీ కలిపి ఒక కాన్ఫరెన్స్ కాల్‌గా మార్చి, తర్వాత కొత్త కాల్ చేయండి."</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>ని ఉపయోగించడానికి, SIM <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>ని ఉపయోగించడానికి, SIM <xliff:g id="SIM_NUMBER">%2$d</xliff:g> కోసం మొబైల్ డేటా మరియు డేటా రోమింగ్‌ని తప్పకుండా ఆన్ చేసారని నిర్ధారించుకోండి. మీరు వీటిని మొబైల్ నెట్‌వర్క్ సెట్టింగ్‌లలో మార్చవచ్చు."</string>
-    <string name="supp_service_over_ut_precautions_dialog_dismiss" msgid="5934541487903081652">"తీసివేయి"</string>
+    <string name="supp_service_over_ut_precautions_dialog_dismiss" msgid="5934541487903081652">"తీసివేయండి"</string>
     <string name="radio_info_data_connection_enable" msgid="6183729739783252840">"డేటా కనెక్షన్‌ను ప్రారంభించండి"</string>
     <string name="radio_info_data_connection_disable" msgid="6404751291511368706">"డేటా కనెక్షన్‌ను నిలిపివేయండి"</string>
     <string name="volte_provisioned_switch_string" msgid="4812874990480336178">"VoLTE సదుపాయం ఉంది"</string>
@@ -845,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"మీరు ఈ సెట్టింగ్‌ను మార్చడానికి మీ పరికరాన్ని మళ్లీ ప్రారంభించాలి."</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"పునఃప్రారంభించు"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"రద్దు చేయండి"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"తీసివేయగలిగే eSIMని ఆటోమేటిక్ సెట్టింగ్‌గా సెట్ చేయండి"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"మొబైల్ రేడియో పవర్"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"SIM అడ్రస్‌ పుస్తకాన్ని చూడండి"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"ఫిక్స్‌డ్ డయలింగ్ నంబర్‌లను చూడండి"</string>
@@ -899,6 +890,7 @@
     <string name="radio_info_band_mode_label" msgid="23480556225515290">"రేడియో బ్యాండ్‌ను ఎంచుకోండి"</string>
     <string name="radio_info_voice_network_type_label" msgid="2395347336419593265">"వాయిస్ నెట్‌వర్క్ రకం:"</string>
     <string name="radio_info_data_network_type_label" msgid="8886597029237501929">"డేటా నెట్‌వర్క్ రకం:"</string>
+    <string name="radio_info_override_network_type_label" msgid="4176280017221092005">"నెట్‌వర్క్ రకాన్ని ఓవర్‌రైడ్ చేయండి:"</string>
     <string name="phone_index_label" msgid="6222406512768964268">"ఫోన్ సూచికను ఎంచుకోండి"</string>
     <string name="radio_info_set_perferred_label" msgid="7408131389363136210">"సెట్ చేసిన ప్రాధాన్య నెట్‌వర్క్ రకం:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="6951237885381284790">"పింగ్ హోస్ట్ పేరు(www.google.com) IPv4:"</string>
@@ -910,10 +902,10 @@
     <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>
-    <string name="radio_info_dcnr_restricted" msgid="2469125498066960807">"DCNR నియంత్రించబడింది:"</string>
-    <string name="radio_info_nr_available" msgid="1321318331361249997">"NR అందుబాటులో ఉంది:"</string>
-    <string name="radio_info_nr_state" msgid="1337571996788535356">"NR స్టేటస్:"</string>
+    <string name="radio_info_endc_available" msgid="2983767110681230019">"EN-DC అందుబాటులో ఉన్న (NSA):"</string>
+    <string name="radio_info_dcnr_restricted" msgid="7147511536420148173">"DCNR పరిమితం చేయబడిన (NSA):"</string>
+    <string name="radio_info_nr_available" msgid="3383388088451237182">"NR అందుబాటులో ఉన్న (NSA):"</string>
+    <string name="radio_info_nr_state" msgid="4158805093187555149">"NR స్టేట్ (NSA):"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR ఫ్రీక్వెన్సీ:"</string>
     <string name="band_mode_title" msgid="7988822920724576842">"రేడియో బ్యాండ్ మోడ్‌ను సెట్ చేయండి"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"బ్యాండ్ లిస్ట్‌ను లోడ్ చేస్తోంది…"</string>
diff --git a/res/values-th/strings.xml b/res/values-th/strings.xml
index f2e94dd..ef93cd6 100644
--- a/res/values-th/strings.xml
+++ b/res/values-th/strings.xml
@@ -585,7 +585,7 @@
     <string name="onscreenManageCallsText" msgid="1162047856081836469">"จัดการการโทร"</string>
     <string name="onscreenManageConferenceText" msgid="4700574060601755137">"จัดการการประชุม"</string>
     <string name="onscreenAudioText" msgid="7224226735052019986">"เสียง"</string>
-    <string name="onscreenVideoCallText" msgid="1743992456126258698">" Hangouts วิดีโอ"</string>
+    <string name="onscreenVideoCallText" msgid="1743992456126258698">"วิดีโอคอล"</string>
     <string name="importSimEntry" msgid="3892354284082689894">"นำเข้า"</string>
     <string name="importAllSimEntries" msgid="2628391505643564007">"นำเข้าทั้งหมด"</string>
     <string name="importingSimContacts" msgid="4995457122107888932">"กำลังนำเข้าสมุดโทรศัพท์ในซิม"</string>
@@ -637,14 +637,8 @@
     <string name="phone_in_ecm_notification_title" msgid="6825016389926367946">"โหมดติดต่อกลับฉุกเฉิน"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="653972232922670335">"ปิดใช้งานการเชื่อมต่อเครือข่าย"</string>
     <string name="phone_in_ecm_notification_complete_time" msgid="7341624337163082759">"ไม่มีการเชื่อมต่ออินเทอร์เน็ตมือถือจนถึง <xliff:g id="COMPLETETIME">%s</xliff:g>"</string>
-    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="5425906903766466743">
-      <item quantity="other">โทรศัพท์จะเข้าโหมดติดต่อกลับฉุกเฉินเป็นเวลา <xliff:g id="COUNT_1">%s</xliff:g> นาที ขณะใช้โหมดนี้ จะไม่สามารถใช้แอปพลิเคชันที่ใช้การเชื่อมต่อข้อมูลได้ คุณต้องการออกตอนนี้ไหม</item>
-      <item quantity="one">โทรศัพท์จะเข้าโหมดติดต่อกลับฉุกเฉินเป็นเวลา <xliff:g id="COUNT_0">%s</xliff:g> นาที ขณะใช้โหมดนี้ จะไม่สามารถใช้แอปที่ใช้การเชื่อมต่อข้อมูลได้ คุณต้องการออกตอนนี้ไหม</item>
-    </plurals>
-    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="1152682528741457004">
-      <item quantity="other">ไม่สามารถทำงานที่เลือกนี้ได้ขณะอยู่ในโหมดติดต่อกลับฉุกเฉิน โทรศัพท์จะใช้โหมดนี้เป็นเวลา <xliff:g id="COUNT_1">%s</xliff:g> นาที คุณต้องการออกตอนนี้ไหม</item>
-      <item quantity="one">ไม่สามารถทำงานที่เลือกนี้ได้ขณะอยู่ในโหมดติดต่อกลับฉุกเฉิน โทรศัพท์จะใช้โหมดนี้เป็นเวลา <xliff:g id="COUNT_0">%s</xliff:g> นาที คุณต้องการออกตอนนี้ไหม</item>
-    </plurals>
+    <string name="alert_dialog_exit_ecm" msgid="7661603870224398025">"{count,plural, =1{โทรศัพท์จะอยู่ในโหมดติดต่อกลับฉุกเฉินเป็นเวลา 1 นาที ในระหว่างที่อยู่ในโหมดนี้ คุณจะใช้แอปที่ใช้การเชื่อมต่ออินเทอร์เน็ตไม่ได้ คุณต้องการออกเลยไหม}other{โทรศัพท์จะอยู่ในโหมดติดต่อกลับฉุกเฉินเป็นเวลา %s นาที ในระหว่างที่อยู่ในโหมดนี้ คุณจะใช้แอปพลิเคชันที่ใช้การเชื่อมต่ออินเทอร์เน็ตไม่ได้ คุณต้องการออกเลยไหม}}"</string>
+    <string name="alert_dialog_not_avaialble_in_ecm" msgid="8717711120099503279">"{count,plural, =1{การทำงานที่เลือกจะใช้ไม่ได้เมื่ออยู่ในโหมดติดต่อกลับฉุกเฉิน โทรศัพท์จะอยู่ในโหมดนี้เป็นเวลา 1 นาที คุณต้องการออกเลยไหม}other{การทำงานที่เลือกจะใช้ไม่ได้เมื่ออยู่ในโหมดติดต่อกลับฉุกเฉิน โทรศัพท์จะอยู่ในโหมดนี้เป็นเวลา %s นาที คุณต้องการออกเลยไหม}}"</string>
     <string name="alert_dialog_in_ecm_call" msgid="1207545603149771978">"การทำงานที่เลือกใช้ไม่ได้ในระหว่างโทรฉุกเฉิน"</string>
     <string name="progress_dialog_exiting_ecm" msgid="9159080081676927217">"กำลังออกจากโหมดติดต่อกลับฉุกเฉิน"</string>
     <string name="alert_dialog_yes" msgid="3532525979632841417">"ใช่"</string>
@@ -652,10 +646,7 @@
     <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">
-      <item quantity="other">โทรศัพท์จะอยู่ในโหมดติดต่อกลับฉุกเฉินเป็นเวลา <xliff:g id="COUNT_1">%s</xliff:g> นาที\nคุณต้องการออกเลยไหม</item>
-      <item quantity="one">โทรศัพท์จะอยู่ในโหมดติดต่อกลับฉุกเฉินเป็นเวลา <xliff:g id="COUNT_0">%s</xliff:g> นาที\nคุณต้องการออกเลยไหม</item>
-    </plurals>
+    <string name="alert_dialog_exit_ecm_without_data_restriction_hint" msgid="7549850847524907932">"{count,plural, =1{โทรศัพท์จะอยู่ในโหมดติดต่อกลับฉุกเฉินเป็นเวลา 1 นาที\nคุณต้องการออกเลยไหม}other{โทรศัพท์จะอยู่ในโหมดติดต่อกลับฉุกเฉินเป็นเวลา %s นาที\nคุณต้องการออกเลยไหม}}"</string>
     <string name="voicemail_provider" msgid="4158806657253745294">"บริการ"</string>
     <string name="voicemail_settings" msgid="4451045613238972776">"การตั้งค่า"</string>
     <string name="voicemail_number_not_set" msgid="8831561283386938155">"&lt;ไม่ได้ตั้งค่า&gt;"</string>
@@ -683,7 +674,6 @@
     <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="callFailed_cdma_activation" msgid="5392057031552253550">"ซิมการ์ดได้เปิดใช้บริการของคุณและอัปเดตความสามารถในการโรมมิ่งของโทรศัพท์"</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"มีสายที่ใช้งานอยู่มากเกินไป โปรดวางสายหรือรวมสายที่มีก่อนโทรออกครั้งใหม่"</string>
@@ -827,7 +817,7 @@
     <string name="callFailed_already_dialing" msgid="7250591188960691086">"ไม่สามารถโทรออกได้เนื่องจากมีสายโทรออกอยู่แล้ว"</string>
     <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="callFailed_too_many_calls" msgid="2761754044990799580">"ไม่สามารถโทรออกได้เนื่องจากมีการโทร 2 สายที่กำลังดำเนินอยู่ โปรดยกเลิกการเชื่อมต่อ 1 สายหรือรวมเป็นการประชุมสายก่อนโทรออกใหม่"</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> โปรดเปิดเน็ตมือถือสำหรับ SIM <xliff:g id="SIM_NUMBER">%2$d</xliff:g> คุณเปลี่ยนตัวเลือกนี้ได้ในการตั้งค่าเครือข่ายมือถือ"</string>
@@ -845,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"คุณต้องรีสตาร์ทอุปกรณ์เพื่อเปลี่ยนการตั้งค่านี้"</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"รีสตาร์ท"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"ยกเลิก"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"กำหนดให้ eSIM แบบนำออกได้เป็นค่าเริ่มต้น"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"กำลังส่งของวิทยุเครือข่ายมือถือ"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"ดูสมุดที่อยู่ของซิม"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"ดูการจำกัดหมายเลขโทรออก"</string>
@@ -899,6 +890,7 @@
     <string name="radio_info_band_mode_label" msgid="23480556225515290">"เลือกย่านความถี่วิทยุ"</string>
     <string name="radio_info_voice_network_type_label" msgid="2395347336419593265">"ประเภทของเครือข่ายเสียง:"</string>
     <string name="radio_info_data_network_type_label" msgid="8886597029237501929">"ประเภทเครือข่ายข้อมูล:"</string>
+    <string name="radio_info_override_network_type_label" msgid="4176280017221092005">"ประเภทการลบล้างเครือข่าย:"</string>
     <string name="phone_index_label" msgid="6222406512768964268">"เลือกดัชนีโทรศัพท์"</string>
     <string name="radio_info_set_perferred_label" msgid="7408131389363136210">"ตั้งค่าประเภทเครือข่ายที่ต้องการ:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="6951237885381284790">"ใช้คำสั่ง ping ชื่อโฮสต์ (www.google.com) IPv4:"</string>
@@ -910,10 +902,10 @@
     <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>
-    <string name="radio_info_dcnr_restricted" msgid="2469125498066960807">"DCNR ถูกจำกัด:"</string>
-    <string name="radio_info_nr_available" msgid="1321318331361249997">"มี NR:"</string>
-    <string name="radio_info_nr_state" msgid="1337571996788535356">"สถานะ NR:"</string>
+    <string name="radio_info_endc_available" msgid="2983767110681230019">"EN-DC ที่พร้อมใช้งาน (NSA):"</string>
+    <string name="radio_info_dcnr_restricted" msgid="7147511536420148173">"DCNR ที่จำกัด (NSA):"</string>
+    <string name="radio_info_nr_available" msgid="3383388088451237182">"NR ที่พร้อมใช้งาน (NSA):"</string>
+    <string name="radio_info_nr_state" msgid="4158805093187555149">"สถานะ NR (NSA):"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"ความถี่ NR:"</string>
     <string name="band_mode_title" msgid="7988822920724576842">"ตั้งค่าโหมดย่านความถี่วิทยุ"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"กำลังโหลดรายการย่านความถี่…"</string>
diff --git a/res/values-tl/strings.xml b/res/values-tl/strings.xml
index 495807b..6ec3320 100644
--- a/res/values-tl/strings.xml
+++ b/res/values-tl/strings.xml
@@ -637,14 +637,8 @@
     <string name="phone_in_ecm_notification_title" msgid="6825016389926367946">"Emergency Callback Mode"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="653972232922670335">"Hindi pinagana ang koneksyon ng data"</string>
     <string name="phone_in_ecm_notification_complete_time" msgid="7341624337163082759">"Walang koneksyon sa data hanggang <xliff:g id="COMPLETETIME">%s</xliff:g>"</string>
-    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="5425906903766466743">
-      <item quantity="one">Mapupunta sa Emergency Callback mode ang telepono sa loob ng <xliff:g id="COUNT_1">%s</xliff:g> minuto. Habang nasa mode na ito, walang magagamit na mga application na gumagamit ng koneksyon ng data. Gusto mo bang lumabas ngayon?</item>
-      <item quantity="other">Mapupunta sa Emergency Callback mode ang telepono sa loob ng <xliff:g id="COUNT_1">%s</xliff:g> na minuto. Habang nasa mode na ito, walang magagamit na mga application na gumagamit ng koneksyon ng data. Gusto mo bang lumabas ngayon?</item>
-    </plurals>
-    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="1152682528741457004">
-      <item quantity="one">Hindi available ang napiling pagkilos habang nasa Emergency Callback mode. Mananatili ang telepono sa mode na ito sa loob ng <xliff:g id="COUNT_1">%s</xliff:g> minuto. Gusto mo bang lumabas ngayon?</item>
-      <item quantity="other">Hindi available ang napiling pagkilos habang nasa Emergency Callback mode. Mananatili ang telepono sa mode na ito sa loob ng <xliff:g id="COUNT_1">%s</xliff:g> na minuto. Gusto mo bang lumabas ngayon?</item>
-    </plurals>
+    <!-- format error in translation for alert_dialog_exit_ecm (7661603870224398025) -->
+    <!-- format error in translation for alert_dialog_not_avaialble_in_ecm (8717711120099503279) -->
     <string name="alert_dialog_in_ecm_call" msgid="1207545603149771978">"Hindi available ang piniling pagkilos habang nasa pang-emergency na tawag."</string>
     <string name="progress_dialog_exiting_ecm" msgid="9159080081676927217">"Lumalabas sa mode na Emergency Callback"</string>
     <string name="alert_dialog_yes" msgid="3532525979632841417">"Oo"</string>
@@ -652,10 +646,7 @@
     <string name="alert_dialog_dismiss" msgid="1336356286354517054">"Balewalain"</string>
     <string name="phone_in_ecm_call_notification_text_without_data_restriction_hint" msgid="3747860785153531225">"Nasa emergency callback mode ang telepono"</string>
     <string name="phone_in_ecm_notification_complete_time_without_data_restriction_hint" msgid="3690292264812050858">"Hanggang <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">Nasa emergency callback mode ang telepono nang <xliff:g id="COUNT_1">%s</xliff:g> minuto.\nGusto mo bang lumabas ngayon?</item>
-      <item quantity="other">Nasa emergency callback mode ang telepono nang <xliff:g id="COUNT_1">%s</xliff:g> na minuto.\nGusto mo bang lumabas ngayon?</item>
-    </plurals>
+    <!-- format error in translation for alert_dialog_exit_ecm_without_data_restriction_hint (7549850847524907932) -->
     <string name="voicemail_provider" msgid="4158806657253745294">"Serbisyo"</string>
     <string name="voicemail_settings" msgid="4451045613238972776">"Setup"</string>
     <string name="voicemail_number_not_set" msgid="8831561283386938155">"&lt;Hindi nakatakda&gt;"</string>
@@ -683,7 +674,6 @@
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"Pagiging Accessible"</string>
     <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"Tawag sa Wi-Fi mula kay"</string>
     <string name="status_hint_label_wifi_call" msgid="942993035689809853">"Tawag sa Wi-Fi"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"I-tap muli upang buksan"</string>
     <string name="message_decode_error" msgid="1061856591500290887">"Nagkaroon ng error habang dine-decode ang mensahe."</string>
     <string name="callFailed_cdma_activation" msgid="5392057031552253550">"Na-activate ng isang SIM card ang iyong serbisyo at na-update ang mga kakayahang roaming ng iyong telepono."</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"Masyadong maraming aktibong tawag. Mangyaring tapusin o pagsamahin ang mga umiiral na tawag bago gumawa ng bago."</string>
@@ -827,7 +817,7 @@
     <string name="callFailed_already_dialing" msgid="7250591188960691086">"Hindi maaaring tumawag dahil mayroon nang dina-dial na isa pang papalabas na tawag."</string>
     <string name="callFailed_already_ringing" msgid="2376603543544289303">"Hindi maaaring tumawag dahil mayroong hindi nasagot na papasok na tawag. Sagutin o tanggihan ang papasok na tawag bago gumawa ng bagong pagtawag."</string>
     <string name="callFailed_calling_disabled" msgid="5010992739401206283">"Hindi maaaring tumawag dahil na-disable ang pagtawag gamit ang ro.telephony.disable-call na system property."</string>
-    <string name="callFailed_too_many_calls" msgid="5379426826618582180">"Hindi maaaring tumawag dahil mayroon nang dalawang tawag na kasalukuyang nagaganap. Idiskonekta ang isa sa mga tawag o i-merge ang mga ito sa isang kumperensya bago gumawa ng bagong pagtawag."</string>
+    <string name="callFailed_too_many_calls" msgid="2761754044990799580">"Hindi puwedeng tumawag dahil mayroon nang dalawang tawag na kasalukuyang nagaganap. Idiskonekta ang isa sa mga tawag o i-merge ang mga ito sa isang conference bago gumawa ng bagong pagtawag."</string>
     <string name="supp_service_over_ut_precautions" msgid="2145018231396701311">"Para gamitin ang <xliff:g id="SUPP_SERVICE">%s</xliff:g>, tiyaking naka-on ang mobile data. Maaari mo itong baguhin sa mga setting ng mobile network."</string>
     <string name="supp_service_over_ut_precautions_roaming" msgid="670342104569972327">"Para gamitin ang <xliff:g id="SUPP_SERVICE">%s</xliff:g>, tiyaking naka-on ang mobile data at data roaming. Maaari mong baguhin ang mga ito sa mga setting ng mobile network."</string>
     <string name="supp_service_over_ut_precautions_dual_sim" msgid="5166866975550910474">"Para gamitin ang <xliff:g id="SUPP_SERVICE">%1$s</xliff:g>, tiyaking naka-on ang mobile data para sa SIM na <xliff:g id="SIM_NUMBER">%2$d</xliff:g>. Maaari mo itong baguhin sa mga setting ng mobile network."</string>
@@ -845,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"Kailangan mong i-restart ang device para mabago ang setting."</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"I-restart"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"Kanselahin"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"Itakda na Default ang Naaalis na eSIM"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"Mobile Radio Power"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"Tingnan ang Address Book ng SIM"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"Tingnan ang Mga Fixed Dialing Number"</string>
@@ -899,6 +890,7 @@
     <string name="radio_info_band_mode_label" msgid="23480556225515290">"Pumili ng Band ng Radyo"</string>
     <string name="radio_info_voice_network_type_label" msgid="2395347336419593265">"Uri ng Voice Network:"</string>
     <string name="radio_info_data_network_type_label" msgid="8886597029237501929">"Uri ng Data Network:"</string>
+    <string name="radio_info_override_network_type_label" msgid="4176280017221092005">"I-override ang Network Type:"</string>
     <string name="phone_index_label" msgid="6222406512768964268">"Pumili ng index ng telepono"</string>
     <string name="radio_info_set_perferred_label" msgid="7408131389363136210">"Itakda ang Uri ng Gustong Network:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="6951237885381284790">"I-ping ang Hostname(www.google.com) IPv4:"</string>
@@ -910,10 +902,10 @@
     <string name="radio_info_smsc_refresh_label" msgid="8409923721451604560">"I-refresh"</string>
     <string name="radio_info_toggle_dns_check_label" msgid="1394078554927787350">"I-toggle ang DNS Check"</string>
     <string name="oem_radio_info_label" msgid="2914167475119997456">"Impormasyon/Mga Setting na partikular sa OEM"</string>
-    <string name="radio_info_endc_available" msgid="4410653375290113436">"Available ang EN-DC:"</string>
-    <string name="radio_info_dcnr_restricted" msgid="2469125498066960807">"Pinaghihigpitan ang DCNR:"</string>
-    <string name="radio_info_nr_available" msgid="1321318331361249997">"Available ang NR:"</string>
-    <string name="radio_info_nr_state" msgid="1337571996788535356">"Status ng NR:"</string>
+    <string name="radio_info_endc_available" msgid="2983767110681230019">"Available ang EN-DC (NSA):"</string>
+    <string name="radio_info_dcnr_restricted" msgid="7147511536420148173">"Pinaghihigpitang DCNR (NSA):"</string>
+    <string name="radio_info_nr_available" msgid="3383388088451237182">"Available ang NR (NSA):"</string>
+    <string name="radio_info_nr_state" msgid="4158805093187555149">"Status ng NR (NSA):"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"Frequency ng NR:"</string>
     <string name="band_mode_title" msgid="7988822920724576842">"Itakda ang Band Mode ng Radyo"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"Nilo-load ang Listahan ng Band…"</string>
diff --git a/res/values-tr/strings.xml b/res/values-tr/strings.xml
index 74bb70b..af9687b 100644
--- a/res/values-tr/strings.xml
+++ b/res/values-tr/strings.xml
@@ -637,14 +637,8 @@
     <string name="phone_in_ecm_notification_title" msgid="6825016389926367946">"Acil Geri Arama Modu"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="653972232922670335">"Veri bağlantısı devre dışı bırakıldı"</string>
     <string name="phone_in_ecm_notification_complete_time" msgid="7341624337163082759">"Şu saate kadar veri bağlantısı olmayacak: <xliff:g id="COMPLETETIME">%s</xliff:g>"</string>
-    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="5425906903766466743">
-      <item quantity="other">Telefon <xliff:g id="COUNT_1">%s</xliff:g> dakika boyunca bu modda olacak. Bu moddayken veri bağlantısı kullanan hiçbir uygulama kullanılamaz. Şimdi çıkmak istiyor musunuz?</item>
-      <item quantity="one">Telefon <xliff:g id="COUNT_0">%s</xliff:g> dakika boyunca bu modda olacak. Bu moddayken veri bağlantısı kullanan hiçbir uygulama kullanılamaz. Şimdi çıkmak istiyor musunuz?</item>
-    </plurals>
-    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="1152682528741457004">
-      <item quantity="other">Seçilen işlem Acil Durum Çağrısı modunda kullanılamaz. Telefon <xliff:g id="COUNT_1">%s</xliff:g> dakika boyunca bu modda olacak. Şimdi çıkmak istiyor musunuz?</item>
-      <item quantity="one">Seçilen işlem Acil Durum Çağrısı modunda kullanılamaz. Telefon <xliff:g id="COUNT_0">%s</xliff:g> dakika boyunca bu modda olacak. Şimdi çıkmak istiyor musunuz?</item>
-    </plurals>
+    <string name="alert_dialog_exit_ecm" msgid="7661603870224398025">"{count,plural, =1{Telefon bir dakika boyunca acil geri arama modunda olacak. Bu moddayken, veri bağlantısı kullanan uygulamalar kullanılamaz. Şimdi çıkmak istiyor musunuz?}other{Telefon %s dakika boyunca acil geri arama modunda olacak. Bu moddayken, veri bağlantısı kullanan uygulamalar kullanılamaz. Şimdi çıkmak istiyor musunuz?}}"</string>
+    <string name="alert_dialog_not_avaialble_in_ecm" msgid="8717711120099503279">"{count,plural, =1{Seçilen işlem acil geri arama modunda kullanılamaz. Telefon bir dakika boyunca bu modda kalacak. Şimdi çıkmak istiyor musunuz?}other{Seçilen işlem acil geri arama modunda kullanılamaz. Telefon %s dakika boyunca bu modda kalacak. Şimdi çıkmak istiyor musunuz?}}"</string>
     <string name="alert_dialog_in_ecm_call" msgid="1207545603149771978">"Seçilen işlem, acil durum çağrısında kullanılamaz."</string>
     <string name="progress_dialog_exiting_ecm" msgid="9159080081676927217">"Acil Geri Arama Modundan çıkılıyor"</string>
     <string name="alert_dialog_yes" msgid="3532525979632841417">"Evet"</string>
@@ -652,10 +646,7 @@
     <string name="alert_dialog_dismiss" msgid="1336356286354517054">"Kapat"</string>
     <string name="phone_in_ecm_call_notification_text_without_data_restriction_hint" msgid="3747860785153531225">"Telefon, acil geri arama modunda"</string>
     <string name="phone_in_ecm_notification_complete_time_without_data_restriction_hint" msgid="3690292264812050858">"Şu saate kadar: <xliff:g id="COMPLETETIME">%s</xliff:g>"</string>
-    <plurals name="alert_dialog_exit_ecm_without_data_restriction_hint" formatted="false" msgid="6477733043040328640">
-      <item quantity="other">Telefon <xliff:g id="COUNT_1">%s</xliff:g> dakika boyunca acil geri arama modunda olacak.\nŞimdi çıkmak istiyor musunuz?</item>
-      <item quantity="one">Telefon <xliff:g id="COUNT_0">%s</xliff:g> dakika boyunca acil geri arama modunda olacak.\nŞimdi çıkmak istiyor musunuz?</item>
-    </plurals>
+    <string name="alert_dialog_exit_ecm_without_data_restriction_hint" msgid="7549850847524907932">"{count,plural, =1{Telefon bir dakika boyunca acil geri arama modunda olacak.\nŞimdi çıkmak istiyor musunuz?}other{Telefon %s dakika boyunca acil geri arama modunda olacak.\nŞimdi çıkmak istiyor musunuz?}}"</string>
     <string name="voicemail_provider" msgid="4158806657253745294">"Hizmet"</string>
     <string name="voicemail_settings" msgid="4451045613238972776">"Kurulum"</string>
     <string name="voicemail_number_not_set" msgid="8831561283386938155">"&lt;Ayarlanmadı&gt;"</string>
@@ -683,7 +674,6 @@
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"Erişilebilirlik"</string>
     <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"Gelen çağrı (kablosuz):"</string>
     <string name="status_hint_label_wifi_call" msgid="942993035689809853">"Kablosuz çağrı"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"Açmak için tekrar dokunun"</string>
     <string name="message_decode_error" msgid="1061856591500290887">"İletinin kodu çözülürken bir hata oluştu."</string>
     <string name="callFailed_cdma_activation" msgid="5392057031552253550">"Bir SIM kart, hizmetinizi etkinleştirdi ve telefonunuzun dolaşım özelliklerini güncelledi."</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"Etkin çağrıların sayısı çok fazla. Yeni bir çağrı yapmadan önce lütfen mevcut çağrıları sonlandırın veya birleştirin."</string>
@@ -827,7 +817,7 @@
     <string name="callFailed_already_dialing" msgid="7250591188960691086">"Zaten aranmakta olan bir numara olduğu için arama yapılamıyor."</string>
     <string name="callFailed_already_ringing" msgid="2376603543544289303">"Cevaplanmamış bir gelen arama olduğu için arama yapılamıyor. Yeni bir arama yapmadan önce gelen aramayı cevaplayın veya reddedin."</string>
     <string name="callFailed_calling_disabled" msgid="5010992739401206283">"Telefon etme ro.telephony.disable-call sistem özelliği kullanılarak devre dışı bırakıldığı için arama yapılamıyor."</string>
-    <string name="callFailed_too_many_calls" msgid="5379426826618582180">"Devam eden iki arama olduğu için arama yapılamıyor. Yeni bir arama yapmadan önce aramalardan birini sonlandırın veya iki aramayı bir konferans aramasında birleştirin."</string>
+    <string name="callFailed_too_many_calls" msgid="2761754044990799580">"Devam eden iki arama olduğu için arama yapılamıyor. Yeni bir arama yapmadan önce aramalardan birini sonlandırın veya iki aramayı bir konferans aramasında birleştirin."</string>
     <string name="supp_service_over_ut_precautions" msgid="2145018231396701311">"<xliff:g id="SUPP_SERVICE">%s</xliff:g> hizmetini kullanmak için mobil verinin etkin olduğundan emin olun. Bunu mobil ağ ayarlarından değiştirebilirsiniz."</string>
     <string name="supp_service_over_ut_precautions_roaming" msgid="670342104569972327">"<xliff:g id="SUPP_SERVICE">%s</xliff:g> hizmetini kullanmak için mobil verinin ve veri dolaşımının etkin olduğundan emin olun. Bunları mobil ağ ayarlarından değiştirebilirsiniz."</string>
     <string name="supp_service_over_ut_precautions_dual_sim" msgid="5166866975550910474">"<xliff:g id="SUPP_SERVICE">%1$s</xliff:g> hizmetini kullanmak üzere, <xliff:g id="SIM_NUMBER">%2$d</xliff:g> numaralı SIM için mobil verinin etkin olduğundan emin olun. Bunu mobil ağ ayarlarından değiştirebilirsiniz."</string>
@@ -845,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"Bu ayarı değiştirmek için cihazınızı yeniden başlatın."</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"Yeniden başlat"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"İptal"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"Çıkarılabilir eSIM\'i Varsayılan Yap"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"Mobil Radyo Gücü"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"SIM Adres Defterini Görüntüle"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"Sabit Arama Numaralarını Görüntüle"</string>
@@ -899,6 +890,7 @@
     <string name="radio_info_band_mode_label" msgid="23480556225515290">"Radyo Bandını Seç"</string>
     <string name="radio_info_voice_network_type_label" msgid="2395347336419593265">"Sesli Ağ Türü:"</string>
     <string name="radio_info_data_network_type_label" msgid="8886597029237501929">"Veri Ağı Türü:"</string>
+    <string name="radio_info_override_network_type_label" msgid="4176280017221092005">"Ağ Türünü Geçersiz Kıl:"</string>
     <string name="phone_index_label" msgid="6222406512768964268">"Telefon dizinini seç"</string>
     <string name="radio_info_set_perferred_label" msgid="7408131389363136210">"Tercih Edilen Ağ Türünü Ayarla:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="6951237885381284790">"Ping Ana Makine Adı (www.google.com) IPv4:"</string>
@@ -910,10 +902,10 @@
     <string name="radio_info_smsc_refresh_label" msgid="8409923721451604560">"Yenile"</string>
     <string name="radio_info_toggle_dns_check_label" msgid="1394078554927787350">"DNS Denetimini Aç/Kapat"</string>
     <string name="oem_radio_info_label" msgid="2914167475119997456">"OEM\'e Özgü Bilgiler/Ayarlar"</string>
-    <string name="radio_info_endc_available" msgid="4410653375290113436">"EN-DC Kullanılabilir:"</string>
-    <string name="radio_info_dcnr_restricted" msgid="2469125498066960807">"DCNR Kısıtlanmış:"</string>
-    <string name="radio_info_nr_available" msgid="1321318331361249997">"NR Kullanılabilir:"</string>
-    <string name="radio_info_nr_state" msgid="1337571996788535356">"NR Durumu:"</string>
+    <string name="radio_info_endc_available" msgid="2983767110681230019">"EN-DC Kullanılabilir (NSA):"</string>
+    <string name="radio_info_dcnr_restricted" msgid="7147511536420148173">"DCNR Kısıtlanmış (NSA):"</string>
+    <string name="radio_info_nr_available" msgid="3383388088451237182">"NR Kullanılabilir (NSA):"</string>
+    <string name="radio_info_nr_state" msgid="4158805093187555149">"NR Durumu (NSA):"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR Frekansı:"</string>
     <string name="band_mode_title" msgid="7988822920724576842">"Radyo Bant Modunu Ayarla"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"Bant Listesi Yükleniyor…"</string>
diff --git a/res/values-uk/strings.xml b/res/values-uk/strings.xml
index 2edd5f3..94bdb50 100644
--- a/res/values-uk/strings.xml
+++ b/res/values-uk/strings.xml
@@ -637,18 +637,8 @@
     <string name="phone_in_ecm_notification_title" msgid="6825016389926367946">"Реж. авар. зворот. виклику"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="653972232922670335">"Передавання даних вимкнено"</string>
     <string name="phone_in_ecm_notification_complete_time" msgid="7341624337163082759">"Немає мобільного Інтернету до <xliff:g id="COMPLETETIME">%s</xliff:g>"</string>
-    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="5425906903766466743">
-      <item quantity="one">Телефон перебуватиме в режимі екстреного виклику протягом <xliff:g id="COUNT_1">%s</xliff:g> хвилини. У цьому режимі не працюватимуть додатки, які передають дані. Вийти?</item>
-      <item quantity="few">Телефон перебуватиме в режимі екстреного виклику протягом <xliff:g id="COUNT_1">%s</xliff:g> хвилин. У цьому режимі не працюватимуть додатки, які передають дані. Вийти?</item>
-      <item quantity="many">Телефон перебуватиме в режимі екстреного виклику протягом <xliff:g id="COUNT_1">%s</xliff:g> хвилин. У цьому режимі не працюватимуть додатки, які передають дані. Вийти?</item>
-      <item quantity="other">Телефон перебуватиме в режимі екстреного виклику протягом <xliff:g id="COUNT_1">%s</xliff:g> хвилин. У цьому режимі не працюватимуть додатки, які передають дані. Вийти?</item>
-    </plurals>
-    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="1152682528741457004">
-      <item quantity="one">Вибрана дія недоступна в режимі екстреного виклику. Телефон перебуватиме в цьому режимі протягом <xliff:g id="COUNT_1">%s</xliff:g> хвилини. Вийти?</item>
-      <item quantity="few">Вибрана дія недоступна в режимі екстреного виклику. Телефон перебуватиме в цьому режимі протягом <xliff:g id="COUNT_1">%s</xliff:g> хвилин. Вийти?</item>
-      <item quantity="many">Вибрана дія недоступна в режимі екстреного виклику. Телефон перебуватиме в цьому режимі протягом <xliff:g id="COUNT_1">%s</xliff:g> хвилин. Вийти?</item>
-      <item quantity="other">Вибрана дія недоступна в режимі екстреного виклику. Телефон перебуватиме в цьому режимі протягом <xliff:g id="COUNT_1">%s</xliff:g> хвилин. Вийти?</item>
-    </plurals>
+    <!-- format error in translation for alert_dialog_exit_ecm (7661603870224398025) -->
+    <!-- format error in translation for alert_dialog_not_avaialble_in_ecm (8717711120099503279) -->
     <string name="alert_dialog_in_ecm_call" msgid="1207545603149771978">"Вибрана дія не доступна під час екстреного виклику."</string>
     <string name="progress_dialog_exiting_ecm" msgid="9159080081676927217">"Вихід із режиму екстреного зворотного виклику"</string>
     <string name="alert_dialog_yes" msgid="3532525979632841417">"Так"</string>
@@ -656,12 +646,7 @@
     <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">
-      <item quantity="one">Телефон перебуватиме в режимі екстреного зворотного виклику протягом <xliff:g id="COUNT_1">%s</xliff:g> хвилини.\nВийти зараз?</item>
-      <item quantity="few">Телефон перебуватиме в режимі екстреного зворотного виклику протягом <xliff:g id="COUNT_1">%s</xliff:g> хвилин.\nВийти зараз?</item>
-      <item quantity="many">Телефон перебуватиме в режимі екстреного зворотного виклику протягом <xliff:g id="COUNT_1">%s</xliff:g> хвилин.\nВийти зараз?</item>
-      <item quantity="other">Телефон перебуватиме в режимі екстреного зворотного виклику протягом <xliff:g id="COUNT_1">%s</xliff:g> хвилини.\nВийти зараз?</item>
-    </plurals>
+    <!-- format error in translation for alert_dialog_exit_ecm_without_data_restriction_hint (7549850847524907932) -->
     <string name="voicemail_provider" msgid="4158806657253745294">"Обслуговування"</string>
     <string name="voicemail_settings" msgid="4451045613238972776">"Налаштування"</string>
     <string name="voicemail_number_not_set" msgid="8831561283386938155">"&lt;Не введено&gt;"</string>
@@ -689,7 +674,6 @@
     <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="callFailed_cdma_activation" msgid="5392057031552253550">"Коли ви вставили SIM-карту, було активовано мобільний зв’язок і оновлено можливості роумінгу вашого телефона."</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"Забагато активних викликів. Перш ніж зателефонувати новому абоненту, завершіть або об’єднайте поточні виклики."</string>
@@ -833,7 +817,7 @@
     <string name="callFailed_already_dialing" msgid="7250591188960691086">"Неможливо здійснити виклик, оскільки ви вже телефонуєте на інший номер."</string>
     <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="callFailed_too_many_calls" msgid="2761754044990799580">"Неможливо зателефонувати, оскільки тривають уже два виклики. Припиніть один із них або об’єднайте їх у конференцію, перш ніж здійснити новий."</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>, потрібно ввімкнути мобільне передавання даних для SIM-карти <xliff:g id="SIM_NUMBER">%2$d</xliff:g> (у налаштуваннях мобільної мережі)."</string>
@@ -851,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"Щоб змінити це налаштування, перезапустіть пристрій."</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"Перезапустити"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"Скасувати"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"Установити знімну eSIM-карту як карту за умовчанням"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"Потужність мобільного радіо"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"Переглянути адресну книгу SIM-карти"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"Переглянути фіксовані номери"</string>
@@ -905,6 +890,7 @@
     <string name="radio_info_band_mode_label" msgid="23480556225515290">"Виберіть радіодіапазон"</string>
     <string name="radio_info_voice_network_type_label" msgid="2395347336419593265">"Тип мережі голосових дзвінків:"</string>
     <string name="radio_info_data_network_type_label" msgid="8886597029237501929">"Тип мережі передавання даних:"</string>
+    <string name="radio_info_override_network_type_label" msgid="4176280017221092005">"Перевизначити тип мережі:"</string>
     <string name="phone_index_label" msgid="6222406512768964268">"Виберіть телефонний код"</string>
     <string name="radio_info_set_perferred_label" msgid="7408131389363136210">"Установити потрібний тип мережі:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="6951237885381284790">"Надіслати запит ping на ім\'я хосту (www.google.com) через IPv4:"</string>
@@ -916,10 +902,10 @@
     <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>
-    <string name="radio_info_dcnr_restricted" msgid="2469125498066960807">"DCNR обмежено:"</string>
-    <string name="radio_info_nr_available" msgid="1321318331361249997">"NR доступно:"</string>
-    <string name="radio_info_nr_state" msgid="1337571996788535356">"Статус NR:"</string>
+    <string name="radio_info_endc_available" msgid="2983767110681230019">"З доступом EN-DC (NSA):"</string>
+    <string name="radio_info_dcnr_restricted" msgid="7147511536420148173">"З обмеженням DCNR (NSA):"</string>
+    <string name="radio_info_nr_available" msgid="3383388088451237182">"З доступом NR (NSA):"</string>
+    <string name="radio_info_nr_state" msgid="4158805093187555149">"Статус NR (NSA):"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"Частота NR:"</string>
     <string name="band_mode_title" msgid="7988822920724576842">"Установити режим радіодіапазону"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"Завантаження списку діапазонів частот…"</string>
diff --git a/res/values-ur/strings.xml b/res/values-ur/strings.xml
index 7a5e676..efa5197 100644
--- a/res/values-ur/strings.xml
+++ b/res/values-ur/strings.xml
@@ -637,14 +637,8 @@
     <string name="phone_in_ecm_notification_title" msgid="6825016389926367946">"ہنگامی کال بیک طرز"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="653972232922670335">"ڈیٹا کنکشن غیر فعال ہوگیا"</string>
     <string name="phone_in_ecm_notification_complete_time" msgid="7341624337163082759">"<xliff:g id="COMPLETETIME">%s</xliff:g> تک کوئی ڈیٹا کنکشن نہیں"</string>
-    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="5425906903766466743">
-      <item quantity="other">فون <xliff:g id="COUNT_1">%s</xliff:g> منٹ تک ہنگامی کال بیک وضع میں رہے گا۔ اس وضع میں رہتے ہوئے ڈیٹا کنکشن کا استعمال کرنے والی کسی بھی ایپلیکیشنز کا استعمال نہیں کیا جا سکتا ہے۔ کیا آپ ابھی باہر نکلنا چاہتے ہیں؟</item>
-      <item quantity="one">فون <xliff:g id="COUNT_0">%s</xliff:g> منٹ تک ہنگامی کال بیک وضع میں رہے گا۔ اس وضع میں رہتے ہوئے ڈیٹا کنکشن کا استعمال کرنے والی کسی بھی ایپس کا استعمال نہیں کیا جا سکتا ہے۔ کیا آپ ابھی باہر نکلنا چاہتے ہیں؟</item>
-    </plurals>
-    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="1152682528741457004">
-      <item quantity="other">منتخب کردہ کارروائی ایک ہنگامی کال بیک وضع میں رہتے ہوئے دستیاب نہیں ہے۔ فون <xliff:g id="COUNT_1">%s</xliff:g> منٹ تک اس وضع میں رہے گا۔ کیا آپ ابھی باہر نکلنا چاہتے ہیں؟</item>
-      <item quantity="one">منتخب کردہ کارروائی ایک ہنگامی کال بیک وضع میں رہتے ہوئے دستیاب نہیں ہے۔ فون <xliff:g id="COUNT_0">%s</xliff:g> منٹ تک اس وضع میں رہے گا۔ کیا آپ ابھی باہر نکلنا چاہتے ہیں؟</item>
-    </plurals>
+    <string name="alert_dialog_exit_ecm" msgid="7661603870224398025">"{count,plural, =1{فون ایک منٹ تک ایمرجنسی کال بیک وضع میں رہے گا۔ اس وضع میں رہتے ہوئے ڈیٹا کنکشن کا استعمال کرنے والی کوئی بھی ایپ استعمال نہیں ہو سکتی۔ کیا آپ ابھی باہر نکلنا چاہتے ہیں؟}other{‏فون ‎%s منٹ تک ایمرجنسی کال بیک وضع میں رہے گا۔ اس وضع میں رہتے ہوئے ڈیٹا کنکشن کا استعمال کرنے والی کوئی بھی ایپلیکیشن استعمال نہیں ہو سکتی۔ کیا آپ ابھی باہر نکلنا چاہتے ہیں؟}}"</string>
+    <string name="alert_dialog_not_avaialble_in_ecm" msgid="8717711120099503279">"{count,plural, =1{منتخب کردہ کارروائی ایمرجنسی کال بیک وضع میں دستیاب نہیں ہے۔ فون ایک منٹ تک اس وضع میں رہے گا۔ کیا آپ ابھی نکلنا چاہتے ہیں؟}other{‏منتخب کردہ کارروائی ایمرجنسی کال بیک وضع میں دستیاب نہیں ہے۔ فون ‎%s منٹ تک اس وضع میں رہے گا۔ کیا آپ ابھی نکلنا چاہتے ہیں؟}}"</string>
     <string name="alert_dialog_in_ecm_call" msgid="1207545603149771978">"منتخب کردہ کارروائی ایک ہنگامی کال میں رہتے ہوئے دستیاب نہیں ہے۔"</string>
     <string name="progress_dialog_exiting_ecm" msgid="9159080081676927217">"موجودہ ہنگامی کال بیک طرز"</string>
     <string name="alert_dialog_yes" msgid="3532525979632841417">"ہاں"</string>
@@ -652,10 +646,7 @@
     <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">
-      <item quantity="other">فون <xliff:g id="COUNT_1">%s</xliff:g> منٹ تک ہنگامی کال بیک وضع میں رہے گا۔\n کیا آپ ابھی باہر نکلنا چاہتے ہیں؟</item>
-      <item quantity="one">فون <xliff:g id="COUNT_0">%s</xliff:g> منٹ تک ہنگامی کال بیک وضع میں رہے گا۔\n کیا آپ ابھی باہر نکلنا چاہتے ہیں؟</item>
-    </plurals>
+    <string name="alert_dialog_exit_ecm_without_data_restriction_hint" msgid="7549850847524907932">"{count,plural, =1{فون ایک منٹ تک ایمرجنسی کال بیک وضع میں رہے گا۔\nکیا آپ ابھی باہر نکلنا چاہتے ہیں؟}other{‏فون ‎%s منٹ تک ایمرجنسی کال بیک وضع میں رہے گا۔\nکیا آپ ابھی باہر نکلنا چاہتے ہیں؟}}"</string>
     <string name="voicemail_provider" msgid="4158806657253745294">"سروس"</string>
     <string name="voicemail_settings" msgid="4451045613238972776">"سیٹ اپ"</string>
     <string name="voicemail_number_not_set" msgid="8831561283386938155">"‏&lt;سیٹ نہیں ہے&gt;"</string>
@@ -683,7 +674,6 @@
     <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="callFailed_cdma_activation" msgid="5392057031552253550">"‏ایک SIM کارڈ نے آپ کی سروس فعال کر دی ہے اور آپ کے فون کی رومنگ اہلیتیں اپ ڈیٹ کر دی ہیں۔"</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"بہت زیادہ فعال کالیں ہیں۔ براہ کرم نئی کال کرنے سے پہلے موجودہ کالوں کو ضم کریں یا ختم کریں۔"</string>
@@ -827,7 +817,7 @@
     <string name="callFailed_already_dialing" msgid="7250591188960691086">"کال نہیں کی جا سکتی کیونکہ باہر جانے والی دوسری کال پہلے سے ڈائل کی جا رہی ہے۔"</string>
     <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="callFailed_too_many_calls" msgid="2761754044990799580">"پہلے سے دو کالز کے پیش رفت میں ہونے کی وجہ سے کال نہیں کی جا سکتی۔ نئی کال کرنے کیلئے پہلے ان میں سے ایک کو غیر منسلک کریں یا انہیں کانفرنس میں ضم کریں۔"</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> استعمال کرنے کے لیے، یقینی بنائيں کہ موبائل ڈیٹا SIM <xliff:g id="SIM_NUMBER">%2$d</xliff:g> کے لیے آن ہے۔ آپ موبائل نیٹ ورک کی ترتیبات میں اسے تبدیل کر سکتے ہیں۔"</string>
@@ -845,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"یہ ترتیب تبدیل کرنے کیلئے آپ کو اپنا آلہ ریسٹارٹ کرنا ہوگا۔"</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"دوبارہ شروع کریں"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"منسوخ کریں"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"‏ہٹانے لائق eSIM کو بطور ڈیفالٹ سیٹ کریں"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"موبائل ریڈیو پاور"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"‏SIM ایڈریس بک دیکھیں"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"فکسڈ ڈائلنگ نمبرز دیکھیں"</string>
@@ -899,6 +890,7 @@
     <string name="radio_info_band_mode_label" msgid="23480556225515290">"ریڈیو بینڈ منتخب کریں"</string>
     <string name="radio_info_voice_network_type_label" msgid="2395347336419593265">"صوتی نیٹ ورک کی قسم:"</string>
     <string name="radio_info_data_network_type_label" msgid="8886597029237501929">"ڈیٹا نیٹ ورک کی قسم:"</string>
+    <string name="radio_info_override_network_type_label" msgid="4176280017221092005">"نیٹ ورک کی قسم کو اوور رائیڈ کریں:"</string>
     <string name="phone_index_label" msgid="6222406512768964268">"فون انڈیکس منتخب کریں"</string>
     <string name="radio_info_set_perferred_label" msgid="7408131389363136210">"ترجیحی نیٹ ورک کی قسم سیٹ کریں:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="6951237885381284790">"‏میزبان کا نام پنگ کریں‏‎(www.google.com)‎ ‏IPv4:"</string>
@@ -910,10 +902,10 @@
     <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>
-    <string name="radio_info_dcnr_restricted" msgid="2469125498066960807">"‏DCNR محدود کردہ:"</string>
-    <string name="radio_info_nr_available" msgid="1321318331361249997">"‏NR دستیاب ہے:"</string>
-    <string name="radio_info_nr_state" msgid="1337571996788535356">"‏NR ریاست:"</string>
+    <string name="radio_info_endc_available" msgid="2983767110681230019">"‏EN-DC دستیاب (NSA):"</string>
+    <string name="radio_info_dcnr_restricted" msgid="7147511536420148173">"‏DCNR محدود (NSA):"</string>
+    <string name="radio_info_nr_available" msgid="3383388088451237182">"‏NR دستیاب (NSA):"</string>
+    <string name="radio_info_nr_state" msgid="4158805093187555149">"‏NR کی صورتحال (NSA):"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"‏NR فریکوئنسی:"</string>
     <string name="band_mode_title" msgid="7988822920724576842">"ریڈیو بینڈ موڈ سیٹ کریں"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"بینڈ کی فہرست لوڈ ہو رہی ہے…"</string>
diff --git a/res/values-uz/strings.xml b/res/values-uz/strings.xml
index a702774..929b5b6 100644
--- a/res/values-uz/strings.xml
+++ b/res/values-uz/strings.xml
@@ -637,14 +637,8 @@
     <string name="phone_in_ecm_notification_title" msgid="6825016389926367946">"Favqulodda teskari chaqiruv rejimi"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="653972232922670335">"Internetga ulanish o‘chirildi"</string>
     <string name="phone_in_ecm_notification_complete_time" msgid="7341624337163082759">"<xliff:g id="COMPLETETIME">%s</xliff:g> gacha internetga ulanib bo‘lmaydi"</string>
-    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="5425906903766466743">
-      <item quantity="other">Telefon <xliff:g id="COUNT_1">%s</xliff:g> daqiqa davomida Favqulodda teskari qo‘ng‘iroq rejimida bo‘ladi. Ushbu rejimda internet bilan ishlaydigan hech qanday ilovadan foydalanib bo‘lmaydi. Bu rejimdan chiqishni xohlaysizmi?</item>
-      <item quantity="one">Telefon <xliff:g id="COUNT_0">%s</xliff:g> daqiqa davomida Favqulodda teskari qo‘ng‘iroq rejimida bo‘ladi. Ushbu rejimda internet bilan ishlaydigan hech qanday ilovadan foydalanib bo‘lmaydi. Bu rejimdan chiqishni xohlaysizmi?</item>
-    </plurals>
-    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="1152682528741457004">
-      <item quantity="other">Tanlangan amaldan Favqulodda teskari qo‘ng‘iroq rejimida foydalanib bo‘lmaydi. Telefon <xliff:g id="COUNT_1">%s</xliff:g> daqiqa davomida shu rejimda bo‘ladi. Bu rejimdan chiqishni xohlaysizmi?</item>
-      <item quantity="one">Tanlangan amaldan Favqulodda teskari qo‘ng‘iroq rejimida foydalanib bo‘lmaydi. Telefon <xliff:g id="COUNT_0">%s</xliff:g> daqiqa davomida shu rejimda bo‘ladi. Bu rejimdan chiqishni xohlaysizmi?</item>
-    </plurals>
+    <string name="alert_dialog_exit_ecm" msgid="7661603870224398025">"{count,plural, =1{Telefon favqulodda qayta chaqiruv rejimida bir daqiqa qoladi. Bu rejimda internet ishlatadigan ilovalardan foydalana olmaysiz. Bu rejimdan chiqilsinmi?}other{Telefon favqulodda qayta chaqiruv rejimida %s daqiqa qoladi. Bu rejimda internet ishlatadigan ilovalardan foydalana olmaysiz. Bu rejimdan chiqilsinmi?}}"</string>
+    <string name="alert_dialog_not_avaialble_in_ecm" msgid="8717711120099503279">"{count,plural, =1{Tanlangan amallarni favqulodda qayta chaqiruv rejimida bajarish imkonsiz. Telefon bu rejimida bir daqiqa qoladi. Bu rejimdan chiqilsinmi?}other{Tanlangan amallarni favqulodda qayta chaqiruv rejimida bajarish imkonsiz. Telefon bu rejimida %s daqiqa qoladi. Bu rejimdan chiqilsinmi?}}"</string>
     <string name="alert_dialog_in_ecm_call" msgid="1207545603149771978">"Favqulodda qo‘ng‘rioq rejimida tanlangan amalni bajarib bo‘lmaydi."</string>
     <string name="progress_dialog_exiting_ecm" msgid="9159080081676927217">"Favqulodda teskari qo‘ng‘iroq rejimidan chiqilmoqda"</string>
     <string name="alert_dialog_yes" msgid="3532525979632841417">"Ha"</string>
@@ -652,10 +646,7 @@
     <string name="alert_dialog_dismiss" msgid="1336356286354517054">"Rad etish"</string>
     <string name="phone_in_ecm_call_notification_text_without_data_restriction_hint" msgid="3747860785153531225">"Telefon favqulodda teskari chaqiruv rejimida"</string>
     <string name="phone_in_ecm_notification_complete_time_without_data_restriction_hint" msgid="3690292264812050858">"<xliff:g id="COMPLETETIME">%s</xliff:g> gacha"</string>
-    <plurals name="alert_dialog_exit_ecm_without_data_restriction_hint" formatted="false" msgid="6477733043040328640">
-      <item quantity="other">Telefon favqulodda teskari chaqiruv rejimida <xliff:g id="COUNT_1">%s</xliff:g> daqiqa qoladi.\nBu rejimdan chiqilsinmi?</item>
-      <item quantity="one">Telefon favqulodda teskari chaqiruv rejimida <xliff:g id="COUNT_0">%s</xliff:g> daqiqa qoladi.\nBu rejimdan chiqilsinmi?</item>
-    </plurals>
+    <string name="alert_dialog_exit_ecm_without_data_restriction_hint" msgid="7549850847524907932">"{count,plural, =1{Telefon favqulodda qayta chaqiruv rejimida bir daqiqa qoladi.\nBu rejimdan chiqilsinmi?}other{Telefon favqulodda qayta chaqiruv rejimida %s daqiqa qoladi.\nBu rejimdan chiqilsinmi?}}"</string>
     <string name="voicemail_provider" msgid="4158806657253745294">"Xizmat"</string>
     <string name="voicemail_settings" msgid="4451045613238972776">"Sozlash"</string>
     <string name="voicemail_number_not_set" msgid="8831561283386938155">"&lt;Kiritilmagan&gt;"</string>
@@ -683,7 +674,6 @@
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"Maxsus imkoniyatlar"</string>
     <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"Wi-Fi orqali qo‘ng‘iroq:"</string>
     <string name="status_hint_label_wifi_call" msgid="942993035689809853">"Wi-Fi qo‘ng‘irog‘i"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"Ochish uchun yana bosing"</string>
     <string name="message_decode_error" msgid="1061856591500290887">"Xabarni kodsizlashda xatolik yuz berdi."</string>
     <string name="callFailed_cdma_activation" msgid="5392057031552253550">"Telefoningizda rouming xizmati sozlangan va SIM karta faollashtirilgan."</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"Hozir bir nechta chaqiruv amalda. Boshqa abonentga telefon qilishdan avval amaldagi chaqiruvlarni tugating yoki ularni konferens-aloqaga birlashtiring."</string>
@@ -827,7 +817,7 @@
     <string name="callFailed_already_dialing" msgid="7250591188960691086">"Telefon qilish imkonsiz, chunki siz allaqachon boshqa raqamga telefon qilmoqdasiz."</string>
     <string name="callFailed_already_ringing" msgid="2376603543544289303">"Telefon qilish imkonsiz. Telefon qilish uchun avval kiruvchi chaqiruvni qabul qiling yoki rad eting."</string>
     <string name="callFailed_calling_disabled" msgid="5010992739401206283">"Telefon qilish imkonsiz, chunki chaqiruvlar ro.telephony.disable-call tizim parametrida faolsizlantirilgan."</string>
-    <string name="callFailed_too_many_calls" msgid="5379426826618582180">"Telefon qilish imkonsiz, chunki ayni paytda ikkita chaqiruv davom etmoqda. Telefon qilish uchun chaqiruvlardan birini tugating yoki ularni konferens-aloqaga birlashtiring."</string>
+    <string name="callFailed_too_many_calls" msgid="2761754044990799580">"Telefon qilish imkonsiz, chunki ayni paytda ikkita chaqiruv davom etmoqda. Telefon qilish uchun chaqiruvlardan birini yakunlang yoki ularni konferens-aloqaga birlashtiring."</string>
     <string name="supp_service_over_ut_precautions" msgid="2145018231396701311">"<xliff:g id="SUPP_SERVICE">%s</xliff:g> imkoniyatlaridan foydalanish uchun mobil internet yoqilgan bo‘lishi lozim. Buning uchun mobil tarmoq sozlamalariga kiring."</string>
     <string name="supp_service_over_ut_precautions_roaming" msgid="670342104569972327">"<xliff:g id="SUPP_SERVICE">%s</xliff:g> imkoniyatlaridan foydalanish uchun mobil internet va internet rouming yoqilgan bo‘lishi lozim. Buning uchun mobil tarmoq sozlamalariga kiring."</string>
     <string name="supp_service_over_ut_precautions_dual_sim" msgid="5166866975550910474">"<xliff:g id="SUPP_SERVICE">%1$s</xliff:g> imkoniyatlaridan foydalanish uchun <xliff:g id="SIM_NUMBER">%2$d</xliff:g> raqamida mobil internet yoqilgan bo‘lishi lozim. Buning uchun mobil tarmoq sozlamalariga kiring."</string>
@@ -845,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"Bu sozlamani o‘zgartirish uchun qurilmangizni o‘chirib yoqing."</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"O‘chirib yoqish"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"Bekor qilish"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"Olinadigan eSIM kartani birlamchi qilib belgilash"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"Radio signal quvvati"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"SIM kartadagi abonentlar ro‘yxatini ochish"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"Ruxsat etilgan raqamlar ro‘yxatini ochish"</string>
@@ -899,6 +890,7 @@
     <string name="radio_info_band_mode_label" msgid="23480556225515290">"Radiostansiyani tanlash"</string>
     <string name="radio_info_voice_network_type_label" msgid="2395347336419593265">"Ovozli aloqa uchun tarmoq turi:"</string>
     <string name="radio_info_data_network_type_label" msgid="8886597029237501929">"Trafik uchun tarmoq turi:"</string>
+    <string name="radio_info_override_network_type_label" msgid="4176280017221092005">"Tarmoq turini almashtirish:"</string>
     <string name="phone_index_label" msgid="6222406512768964268">"Telefon kodini tanlang"</string>
     <string name="radio_info_set_perferred_label" msgid="7408131389363136210">"Afzal tarmoq turini tanlash:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="6951237885381284790">"www.google.com uchun ping, IPv4 so‘rovining host nomi:"</string>
@@ -910,10 +902,10 @@
     <string name="radio_info_smsc_refresh_label" msgid="8409923721451604560">"Yangilash"</string>
     <string name="radio_info_toggle_dns_check_label" msgid="1394078554927787350">"DNS tekshiruvini yoqish/o‘chirish"</string>
     <string name="oem_radio_info_label" msgid="2914167475119997456">"OEM maxsus axboroti va sozlamalari"</string>
-    <string name="radio_info_endc_available" msgid="4410653375290113436">"EN-DC ochiq:"</string>
-    <string name="radio_info_dcnr_restricted" msgid="2469125498066960807">"DCNR cheklangan:"</string>
-    <string name="radio_info_nr_available" msgid="1321318331361249997">"NR ochiq:"</string>
-    <string name="radio_info_nr_state" msgid="1337571996788535356">"NR holati:"</string>
+    <string name="radio_info_endc_available" msgid="2983767110681230019">"EN-DC mavjud (NSA):"</string>
+    <string name="radio_info_dcnr_restricted" msgid="7147511536420148173">"DCNR: cheklovlar mavjud (NSA):"</string>
+    <string name="radio_info_nr_available" msgid="3383388088451237182">"NR mavjud (NSA):"</string>
+    <string name="radio_info_nr_state" msgid="4158805093187555149">"NR holati (NSA):"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR chastotasi:"</string>
     <string name="band_mode_title" msgid="7988822920724576842">"Tarmoq rejimini sozlash"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"Chastotalar ro‘yxati yuklanmoqda…"</string>
diff --git a/res/values-vi/strings.xml b/res/values-vi/strings.xml
index a6d8d20..e73a5bc 100644
--- a/res/values-vi/strings.xml
+++ b/res/values-vi/strings.xml
@@ -637,14 +637,8 @@
     <string name="phone_in_ecm_notification_title" msgid="6825016389926367946">"Chế độ Gọi lại Khẩn cấp"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="653972232922670335">"Đã tắt kết nối mạng"</string>
     <string name="phone_in_ecm_notification_complete_time" msgid="7341624337163082759">"Không có kết nối dữ liệu cho đến <xliff:g id="COMPLETETIME">%s</xliff:g>"</string>
-    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="5425906903766466743">
-      <item quantity="other">Điện thoại sẽ ở chế độ Gọi lại khẩn cấp trong <xliff:g id="COUNT_1">%s</xliff:g> phút. Khi ở chế độ này, không thể dùng bất kỳ ứng dụng nào sử dụng kết nối dữ liệu. Bạn có muốn thoát chế độ này ngay bây giờ không?</item>
-      <item quantity="one">Điện thoại sẽ ở chế độ Gọi lại khẩn cấp trong <xliff:g id="COUNT_0">%s</xliff:g> phút. Khi ở chế độ này, không thể dùng bất kỳ ứng dụng nào sử dụng kết nối dữ liệu. Bạn có muốn thoát chế độ này ngay bây giờ không?</item>
-    </plurals>
-    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="1152682528741457004">
-      <item quantity="other">Tác vụ đã chọn không khả dụng khi ở chế độ Gọi lại khẩn cấp. Điện thoại sẽ ở chế độ này trong <xliff:g id="COUNT_1">%s</xliff:g> phút. Bạn có muốn thoát chế độ này ngay bây giờ không?</item>
-      <item quantity="one">Tác vụ đã chọn không khả dụng khi ở chế độ Gọi lại khẩn cấp. Điện thoại sẽ ở chế độ này trong <xliff:g id="COUNT_0">%s</xliff:g> phút. Bạn có muốn thoát chế độ này ngay bây giờ không?</item>
-    </plurals>
+    <string name="alert_dialog_exit_ecm" msgid="7661603870224398025">"{count,plural, =1{Điện thoại sẽ ở chế độ Gọi lại khẩn cấp trong 1 phút. Không thể sử dụng các ứng dụng cần kết nối dữ liệu khi đang ở trong chế độ này. Bạn có muốn thoát ngay không?}other{Điện thoại sẽ ở chế độ Gọi lại khẩn cấp trong %s phút. Không thể sử dụng các ứng dụng cần kết nối dữ liệu khi đang ở trong chế độ này. Bạn có muốn thoát ngay không?}}"</string>
+    <string name="alert_dialog_not_avaialble_in_ecm" msgid="8717711120099503279">"{count,plural, =1{Thao tác đã chọn không thực hiện được trong khi ở chế độ Gọi lại khẩn cấp. Điện thoại sẽ ở chế độ này trong vòng 1 phút. Bạn có muốn thoát ngay không?}other{Thao tác đã chọn không thực hiện được trong khi ở chế độ Gọi lại khẩn cấp. Điện thoại sẽ ở chế độ này trong vòng %s phút. Bạn có muốn thoát ngay không?}}"</string>
     <string name="alert_dialog_in_ecm_call" msgid="1207545603149771978">"Tác vụ đã chọn không khả dụng trong khi thực hiện cuộc gọi khẩn cấp."</string>
     <string name="progress_dialog_exiting_ecm" msgid="9159080081676927217">"Thoát khỏi chế độ Gọi lại khẩn cấp"</string>
     <string name="alert_dialog_yes" msgid="3532525979632841417">"Có"</string>
@@ -652,10 +646,7 @@
     <string name="alert_dialog_dismiss" msgid="1336356286354517054">"Loại bỏ"</string>
     <string name="phone_in_ecm_call_notification_text_without_data_restriction_hint" msgid="3747860785153531225">"Điện thoại đang ở chế độ gọi lại khẩn cấp"</string>
     <string name="phone_in_ecm_notification_complete_time_without_data_restriction_hint" msgid="3690292264812050858">"Cho đến <xliff:g id="COMPLETETIME">%s</xliff:g>"</string>
-    <plurals name="alert_dialog_exit_ecm_without_data_restriction_hint" formatted="false" msgid="6477733043040328640">
-      <item quantity="other">Điện thoại sẽ ở chế độ gọi lại khẩn cấp trong <xliff:g id="COUNT_1">%s</xliff:g> phút.\nBạn có muốn thoát ngay không?</item>
-      <item quantity="one">Điện thoại sẽ ở chế độ gọi lại khẩn cấp trong <xliff:g id="COUNT_0">%s</xliff:g> phút.\nBạn có muốn thoát ngay không?</item>
-    </plurals>
+    <string name="alert_dialog_exit_ecm_without_data_restriction_hint" msgid="7549850847524907932">"{count,plural, =1{Điện thoại sẽ ở chế độ gọi lại khẩn cấp trong 1 phút.\nBạn có muốn thoát ngay không?}other{Điện thoại sẽ ở chế độ gọi lại khẩn cấp trong %s phút.\nBạn có muốn thoát ngay không?}}"</string>
     <string name="voicemail_provider" msgid="4158806657253745294">"Dịch vụ"</string>
     <string name="voicemail_settings" msgid="4451045613238972776">"Thiết lập"</string>
     <string name="voicemail_number_not_set" msgid="8831561283386938155">"&lt;Chưa đặt&gt;"</string>
@@ -683,7 +674,6 @@
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"Hỗ trợ tiếp cận"</string>
     <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"Cuộc gọi qua Wi-Fi từ"</string>
     <string name="status_hint_label_wifi_call" msgid="942993035689809853">"Cuộc gọi qua Wi-Fi"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"Nhấn lại để mở"</string>
     <string name="message_decode_error" msgid="1061856591500290887">"Đã xảy ra lỗi khi giải mã tin nhắn."</string>
     <string name="callFailed_cdma_activation" msgid="5392057031552253550">"Thẻ SIM đã kích hoạt dịch vụ của bạn và đã cập nhật chức năng chuyển vùng của điện thoại."</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"Có quá nhiều cuộc gọi hiện hoạt. Vui lòng kết thúc hoặc hợp nhất các cuộc gọi hiện có trước khi thực hiện cuộc gọi mới."</string>
@@ -827,7 +817,7 @@
     <string name="callFailed_already_dialing" msgid="7250591188960691086">"Không thể thực hiện cuộc gọi vì đang gọi đi số khác."</string>
     <string name="callFailed_already_ringing" msgid="2376603543544289303">"Không thể thực hiện cuộc gọi vì chưa trả lời cuộc gọi đến. Hãy trả lời hoặc từ chối cuộc gọi đến trước khi thực hiện cuộc gọi mới."</string>
     <string name="callFailed_calling_disabled" msgid="5010992739401206283">"Không thể thực hiện cuộc gọi vì tính năng gọi điện đã bị tắt bằng cách sử dụng thuộc tính hệ thống ro.telephony.disable-call."</string>
-    <string name="callFailed_too_many_calls" msgid="5379426826618582180">"Không thể thực hiện cuộc gọi vì có 2 cuộc gọi đang diễn ra. Hãy ngắt kết nối một trong các cuộc gọi hoặc gộp thành cuộc gọi kiểu hội nghị trước khi thực hiện cuộc gọi mới."</string>
+    <string name="callFailed_too_many_calls" msgid="2761754044990799580">"Không thể gọi điện vì có 2 cuộc gọi đang diễn ra. Hãy ngắt kết nối 1 trong 2 cuộc gọi hoặc gộp thành 1 cuộc gọi kiểu hội nghị truyền hình trước khi thực hiện cuộc gọi mới."</string>
     <string name="supp_service_over_ut_precautions" msgid="2145018231396701311">"Để sử dụng <xliff:g id="SUPP_SERVICE">%s</xliff:g>, hãy đảm bảo dữ liệu di động đang bật. Bạn có thể thay đổi tùy chọn cài đặt này trong mục cài đặt mạng di động."</string>
     <string name="supp_service_over_ut_precautions_roaming" msgid="670342104569972327">"Để sử dụng <xliff:g id="SUPP_SERVICE">%s</xliff:g>, hãy đảm bảo dữ liệu di động và tính năng chuyển vùng dữ liệu đang bật. Bạn có thể thay đổi các tùy chọn này trong mục cài đặt mạng di động."</string>
     <string name="supp_service_over_ut_precautions_dual_sim" msgid="5166866975550910474">"Để sử dụng <xliff:g id="SUPP_SERVICE">%1$s</xliff:g>, hãy đảm bảo dữ liệu di động cho SIM <xliff:g id="SIM_NUMBER">%2$d</xliff:g> đang bật. Bạn có thể thay đổi tùy chọn cài đặt này trong mục cài đặt mạng di động."</string>
@@ -845,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"Bạn cần khởi động lại thiết bị để thay đổi chế độ cài đặt này."</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"Khởi động lại"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"Hủy"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"Đặt eSIM có thể tháo rời là Mặc định"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"Cường độ của sóng di động"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"Xem sổ địa chỉ trên SIM"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"Xem số gọi định sẵn"</string>
@@ -899,6 +890,7 @@
     <string name="radio_info_band_mode_label" msgid="23480556225515290">"Chọn dải tần số"</string>
     <string name="radio_info_voice_network_type_label" msgid="2395347336419593265">"Loại mạng thoại:"</string>
     <string name="radio_info_data_network_type_label" msgid="8886597029237501929">"Loại mạng dữ liệu:"</string>
+    <string name="radio_info_override_network_type_label" msgid="4176280017221092005">"Ghi đè loại mạng:"</string>
     <string name="phone_index_label" msgid="6222406512768964268">"Chọn chỉ mục điện thoại"</string>
     <string name="radio_info_set_perferred_label" msgid="7408131389363136210">"Đặt loại mạng ưu tiên:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="6951237885381284790">"Tên máy chủ Ping (www.google.com) IPv4:"</string>
@@ -910,10 +902,10 @@
     <string name="radio_info_smsc_refresh_label" msgid="8409923721451604560">"Làm mới"</string>
     <string name="radio_info_toggle_dns_check_label" msgid="1394078554927787350">"Bật/tắt chế độ kiểm tra DNS"</string>
     <string name="oem_radio_info_label" msgid="2914167475119997456">"Thông tin/Cài đặt dành riêng cho OEM"</string>
-    <string name="radio_info_endc_available" msgid="4410653375290113436">"Hỗ trợ EN-DC:"</string>
-    <string name="radio_info_dcnr_restricted" msgid="2469125498066960807">"Hạn chế DCNR:"</string>
-    <string name="radio_info_nr_available" msgid="1321318331361249997">"Hỗ trợ NR:"</string>
-    <string name="radio_info_nr_state" msgid="1337571996788535356">"Trạng thái NR:"</string>
+    <string name="radio_info_endc_available" msgid="2983767110681230019">"Hỗ trợ EN-DC (NSA):"</string>
+    <string name="radio_info_dcnr_restricted" msgid="7147511536420148173">"Hạn chế DCNR (NSA):"</string>
+    <string name="radio_info_nr_available" msgid="3383388088451237182">"Hỗ trợ NR (NSA):"</string>
+    <string name="radio_info_nr_state" msgid="4158805093187555149">"Trạng thái NR (NSA):"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"Tần số NR:"</string>
     <string name="band_mode_title" msgid="7988822920724576842">"Đặt chế độ dải tần số"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"Đang tải danh sách băng tần…"</string>
diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml
index 6bcb0a5..a335b21 100644
--- a/res/values-zh-rCN/strings.xml
+++ b/res/values-zh-rCN/strings.xml
@@ -575,7 +575,7 @@
     <string name="fire_type_description" msgid="6565200468934914930">"火警"</string>
     <string name="description_concat_format" msgid="2014471565101724088">"%1$s、%2$s"</string>
     <string name="dialerKeyboardHintText" msgid="1115266533703764049">"使用键盘拨号"</string>
-    <string name="onscreenHoldText" msgid="4025348842151665191">"保持"</string>
+    <string name="onscreenHoldText" msgid="4025348842151665191">"保持通话"</string>
     <string name="onscreenEndCallText" msgid="6138725377654842757">"挂断"</string>
     <string name="onscreenShowDialpadText" msgid="658465753816164079">"拨号键盘"</string>
     <string name="onscreenMuteText" msgid="5470306116733843621">"静音"</string>
@@ -637,14 +637,8 @@
     <string name="phone_in_ecm_notification_title" msgid="6825016389926367946">"紧急回拨模式"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="653972232922670335">"数据连接已停用"</string>
     <string name="phone_in_ecm_notification_complete_time" msgid="7341624337163082759">"<xliff:g id="COMPLETETIME">%s</xliff:g> 之后才有数据网络连接"</string>
-    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="5425906903766466743">
-      <item quantity="other">手机在 <xliff:g id="COUNT_1">%s</xliff:g> 分钟内都会处于紧急回拨模式。此模式下无法使用任何需要连接数据网络的应用。要立即退出吗?</item>
-      <item quantity="one">手机在 <xliff:g id="COUNT_0">%s</xliff:g> 分钟内都会处于紧急回拨模式。此模式下无法使用任何需要连接数据网络的应用。要立即退出吗?</item>
-    </plurals>
-    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="1152682528741457004">
-      <item quantity="other">在紧急回拨模式下无法执行所选操作。手机在 <xliff:g id="COUNT_1">%s</xliff:g> 分钟内都会处于此模式。要立即退出吗?</item>
-      <item quantity="one">在紧急回拨模式下无法执行所选操作。手机在 <xliff:g id="COUNT_0">%s</xliff:g> 分钟内都会处于此模式。要立即退出吗?</item>
-    </plurals>
+    <string name="alert_dialog_exit_ecm" msgid="7661603870224398025">"{count,plural, =1{手机在接下来的 1 分钟内将处于紧急回拨模式,此模式下无法使用任何需要连接数据网络的应用。您要立即退出吗?}other{手机在接下来的 %s 分钟内将处于紧急回拨模式,此模式下无法使用任何需要连接数据网络的应用。您要立即退出吗?}}"</string>
+    <string name="alert_dialog_not_avaialble_in_ecm" msgid="8717711120099503279">"{count,plural, =1{无法在紧急回拨模式下执行所选操作,而手机在接下来的 1 分钟内将处于此模式。您要立即退出吗?}other{无法在紧急回拨模式下执行所选操作,而手机在接下来的 %s 分钟内将处于此模式。您要立即退出吗?}}"</string>
     <string name="alert_dialog_in_ecm_call" msgid="1207545603149771978">"进行紧急呼救时无法执行所选操作。"</string>
     <string name="progress_dialog_exiting_ecm" msgid="9159080081676927217">"正在退出紧急回拨模式"</string>
     <string name="alert_dialog_yes" msgid="3532525979632841417">"是"</string>
@@ -652,10 +646,7 @@
     <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">
-      <item quantity="other">手机在 <xliff:g id="COUNT_1">%s</xliff:g> 分钟内都将处于紧急回拨模式。\n您要立即退出吗?</item>
-      <item quantity="one">手机在 <xliff:g id="COUNT_0">%s</xliff:g> 分钟内都将处于紧急回拨模式。\n您要立即退出吗?</item>
-    </plurals>
+    <string name="alert_dialog_exit_ecm_without_data_restriction_hint" msgid="7549850847524907932">"{count,plural, =1{手机在接下来的 1 分钟内将处于紧急回拨模式。\n您要立即退出吗?}other{手机在接下来的 %s 分钟内将处于紧急回拨模式。\n您要立即退出吗?}}"</string>
     <string name="voicemail_provider" msgid="4158806657253745294">"服务"</string>
     <string name="voicemail_settings" msgid="4451045613238972776">"设置"</string>
     <string name="voicemail_number_not_set" msgid="8831561283386938155">"&lt;未设置&gt;"</string>
@@ -683,7 +674,6 @@
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"无障碍功能"</string>
     <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"WLAN 通话来电:"</string>
     <string name="status_hint_label_wifi_call" msgid="942993035689809853">"WLAN 通话"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"再次点按即可打开"</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>
@@ -827,7 +817,7 @@
     <string name="callFailed_already_dialing" msgid="7250591188960691086">"由于已在拨打另一个电话,因此无法拨打新电话。"</string>
     <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="callFailed_too_many_calls" msgid="2761754044990799580">"由于已有两个正在进行的通话,因此无法拨打电话。请先断开其中一个通话的连接或将两个通话合并到同一个会议中,然后才能拨打新电话。"</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>服务,请确保已为 SIM (<xliff:g id="SIM_NUMBER">%2$d</xliff:g>) 开启移动数据。您可以在移动网络设置中进行更改。"</string>
@@ -845,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"您需要重启设备才能让这项设置更改生效。"</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"重启"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"取消"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"将可卸载的 eSIM 卡设为默认 eSIM 卡"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"移动无线装置电源"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"查看 SIM 卡通讯录"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"查看固定拨号号码"</string>
@@ -899,6 +890,7 @@
     <string name="radio_info_band_mode_label" msgid="23480556225515290">"选择无线装置频道"</string>
     <string name="radio_info_voice_network_type_label" msgid="2395347336419593265">"语音网络类型:"</string>
     <string name="radio_info_data_network_type_label" msgid="8886597029237501929">"数据网络类型:"</string>
+    <string name="radio_info_override_network_type_label" msgid="4176280017221092005">"覆盖网络类型:"</string>
     <string name="phone_index_label" msgid="6222406512768964268">"选择电话号码索引"</string>
     <string name="radio_info_set_perferred_label" msgid="7408131389363136210">"设置首选网络类型:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="6951237885381284790">"ping 主机名(www.google.com) IPv4:"</string>
@@ -910,10 +902,10 @@
     <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">"4G/5G 双连接可用:"</string>
-    <string name="radio_info_dcnr_restricted" msgid="2469125498066960807">"5G 双连接受限:"</string>
-    <string name="radio_info_nr_available" msgid="1321318331361249997">"5G 可用:"</string>
-    <string name="radio_info_nr_state" msgid="1337571996788535356">"5G 状态:"</string>
+    <string name="radio_info_endc_available" msgid="2983767110681230019">"EN-DC 可用 (NSA):"</string>
+    <string name="radio_info_dcnr_restricted" msgid="7147511536420148173">"DCNR 受限 (NSA):"</string>
+    <string name="radio_info_nr_available" msgid="3383388088451237182">"NR 可用 (NSA):"</string>
+    <string name="radio_info_nr_state" msgid="4158805093187555149">"NR 状态 (NSA):"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"5G 频率:"</string>
     <string name="band_mode_title" msgid="7988822920724576842">"设置无线装置频道模式"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"正在加载频道列表…"</string>
diff --git a/res/values-zh-rHK/strings.xml b/res/values-zh-rHK/strings.xml
index 85cedaa..213ade9 100644
--- a/res/values-zh-rHK/strings.xml
+++ b/res/values-zh-rHK/strings.xml
@@ -637,14 +637,8 @@
     <string name="phone_in_ecm_notification_title" msgid="6825016389926367946">"緊急回撥模式"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="653972232922670335">"數據連線已停用"</string>
     <string name="phone_in_ecm_notification_complete_time" msgid="7341624337163082759">"到<xliff:g id="COMPLETETIME">%s</xliff:g> 以前沒有數據連線"</string>
-    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="5425906903766466743">
-      <item quantity="other">手機將在 <xliff:g id="COUNT_1">%s</xliff:g> 分鐘內處於緊急電話模式。在此模式中,無法使用需要數據連線的應用程式。您要退出嗎?</item>
-      <item quantity="one">手機將在 <xliff:g id="COUNT_0">%s</xliff:g> 分鐘內處於緊急電話模式。在此模式中,無法使用需要連接數據的應用程式。您要退出嗎?</item>
-    </plurals>
-    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="1152682528741457004">
-      <item quantity="other">在緊急電話模式中,無法進行已選取的操作。手機將在 <xliff:g id="COUNT_1">%s</xliff:g> 分鐘內處於此模式。您要退出嗎?</item>
-      <item quantity="one">在緊急電話模式中,無法進行已選取的操作。手機將在 <xliff:g id="COUNT_0">%s</xliff:g> 分鐘內處於此模式。您要退出嗎?</item>
-    </plurals>
+    <string name="alert_dialog_exit_ecm" msgid="7661603870224398025">"{count,plural, =1{手機在接下來的 1 分鐘都將處於緊急回撥模式。在這個模式中,所有使用數據連線的應用程式皆無法使用。您要立即退出嗎?}other{手機在接下來的 %s 分鐘都將處於緊急回撥模式。在這個模式中,所有使用數據連線的應用程式皆無法使用。您要立即退出嗎?}}"</string>
+    <string name="alert_dialog_not_avaialble_in_ecm" msgid="8717711120099503279">"{count,plural, =1{緊急回撥模式不支援您所選取的操作。手機在接下來的 1 分鐘都將處於這個模式,您要立即退出嗎?}other{緊急回撥模式不支援您所選取的操作。手機在接下來的 %s 分鐘都將處於這個模式,您要立即退出嗎?}}"</string>
     <string name="alert_dialog_in_ecm_call" msgid="1207545603149771978">"緊急電話模式不支援您所選取的操作。"</string>
     <string name="progress_dialog_exiting_ecm" msgid="9159080081676927217">"正在退出緊急回撥模式"</string>
     <string name="alert_dialog_yes" msgid="3532525979632841417">"是"</string>
@@ -652,10 +646,7 @@
     <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">
-      <item quantity="other">手機在接下來的 <xliff:g id="COUNT_1">%s</xliff:g> 分鐘都將處於緊急回撥模式。\n您要立即退出嗎?</item>
-      <item quantity="one">手機在接下來的 <xliff:g id="COUNT_0">%s</xliff:g> 分鐘都將處於緊急回撥模式。\n您要立即退出嗎?</item>
-    </plurals>
+    <string name="alert_dialog_exit_ecm_without_data_restriction_hint" msgid="7549850847524907932">"{count,plural, =1{手機在接下來的 1 分鐘都將處於緊急回撥模式。\n您要立即退出嗎?}other{手機在接下來的 %s 分鐘都將處於緊急回撥模式。\n您要立即退出嗎?}}"</string>
     <string name="voicemail_provider" msgid="4158806657253745294">"服務"</string>
     <string name="voicemail_settings" msgid="4451045613238972776">"設定"</string>
     <string name="voicemail_number_not_set" msgid="8831561283386938155">"&lt;未設定&gt;"</string>
@@ -683,7 +674,6 @@
     <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="callFailed_cdma_activation" msgid="5392057031552253550">"SIM 卡已啟動您的服務,並更新了您的手機漫遊功能。"</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"進行中的通話過多。請先結束或合併現有通話,再重新撥打。"</string>
@@ -827,7 +817,7 @@
     <string name="callFailed_already_dialing" msgid="7250591188960691086">"系統正在撥打另一通電話,因此無法撥打電話。"</string>
     <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="callFailed_too_many_calls" msgid="2761754044990799580">"目前已有兩個通話正在進行,因此無法撥打電話。請先結束其中一個通話,或將兩個通話合併為一個會議,才撥打電話。"</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>,請確保 SIM 卡 (<xliff:g id="SIM_NUMBER">%2$d</xliff:g>) 的流動數據已開啟。您可以在流動網絡設定中變更此設定。"</string>
@@ -845,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"您需要重新啟動裝置,才可變更此設定。"</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"重新啟動"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"取消"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"將可移除的 eSIM 卡設為預設值"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"流動無線電的電源"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"查看 SIM 卡通訊錄"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"查看固定撥號"</string>
@@ -899,6 +890,7 @@
     <string name="radio_info_band_mode_label" msgid="23480556225515290">"選擇無線電波段"</string>
     <string name="radio_info_voice_network_type_label" msgid="2395347336419593265">"語音網絡類型:"</string>
     <string name="radio_info_data_network_type_label" msgid="8886597029237501929">"數據網絡類型:"</string>
+    <string name="radio_info_override_network_type_label" msgid="4176280017221092005">"覆寫網絡類型:"</string>
     <string name="phone_index_label" msgid="6222406512768964268">"選取手機索引"</string>
     <string name="radio_info_set_perferred_label" msgid="7408131389363136210">"設定偏好的網絡類型:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="6951237885381284790">"連線偵測主機名稱 (www.google.com) IPv4:"</string>
@@ -910,10 +902,10 @@
     <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>
-    <string name="radio_info_dcnr_restricted" msgid="2469125498066960807">"DCNR 受限:"</string>
-    <string name="radio_info_nr_available" msgid="1321318331361249997">"NR 可用:"</string>
-    <string name="radio_info_nr_state" msgid="1337571996788535356">"NR 狀態:"</string>
+    <string name="radio_info_endc_available" msgid="2983767110681230019">"EN-DC 可用 (NSA):"</string>
+    <string name="radio_info_dcnr_restricted" msgid="7147511536420148173">"DCNR 受限 (NSA):"</string>
+    <string name="radio_info_nr_available" msgid="3383388088451237182">"NR 可用 (NSA):"</string>
+    <string name="radio_info_nr_state" msgid="4158805093187555149">"NR 狀態 (NSA):"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR 頻率:"</string>
     <string name="band_mode_title" msgid="7988822920724576842">"設定無線電頻段模式"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"正在載入頻段清單…"</string>
diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml
index fe9238d..b59d162 100644
--- a/res/values-zh-rTW/strings.xml
+++ b/res/values-zh-rTW/strings.xml
@@ -637,14 +637,8 @@
     <string name="phone_in_ecm_notification_title" msgid="6825016389926367946">"緊急回撥模式"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="653972232922670335">"資料連線已停用"</string>
     <string name="phone_in_ecm_notification_complete_time" msgid="7341624337163082759">"在<xliff:g id="COMPLETETIME">%s</xliff:g> 之前無法使用數據連線"</string>
-    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="5425906903766466743">
-      <item quantity="other">接下來的 <xliff:g id="COUNT_1">%s</xliff:g> 分鐘內,手機會進入緊急回電模式。在此模式下,您將無法使用需要數據連線的應用程式。您要立即退出這個模式嗎?</item>
-      <item quantity="one">接下來的 <xliff:g id="COUNT_0">%s</xliff:g> 分鐘內,手機會進入緊急回電模式。在此模式下,您將無法使用需要數據連線的應用程式。您要立即退出這個模式嗎?</item>
-    </plurals>
-    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="1152682528741457004">
-      <item quantity="other">緊急回電模式不支援您要執行的操作。接下來的 <xliff:g id="COUNT_1">%s</xliff:g> 分鐘內,手機會進入此模式。您要立即退出這個模式嗎?</item>
-      <item quantity="one">緊急回電模式不支援您要執行的操作。接下來的 <xliff:g id="COUNT_0">%s</xliff:g> 分鐘內,手機會進入此模式。您要立即退出這個模式嗎?</item>
-    </plurals>
+    <string name="alert_dialog_exit_ecm" msgid="7661603870224398025">"{count,plural, =1{接下來的 1 分鐘內,手機將處於緊急回撥模式。在這個模式下,所有使用數據連線的應用程式都將無法運作。要立即退出這個模式嗎?}other{接下來的 %s 分鐘內,手機將處於緊急回撥模式。在這個模式下,所有使用數據連線的應用程式都將無法運作。要立即退出這個模式嗎?}}"</string>
+    <string name="alert_dialog_not_avaialble_in_ecm" msgid="8717711120099503279">"{count,plural, =1{緊急回撥模式下無法執行你指定的操作。接下來的 1 分鐘內,手機將處於緊急回撥模式。要立即退出這個模式嗎?}other{緊急回撥模式下無法執行你指定的操作。接下來的 %s 分鐘內,手機將處於緊急回撥模式。要立即退出這個模式嗎?}}"</string>
     <string name="alert_dialog_in_ecm_call" msgid="1207545603149771978">"緊急通話模式不支援您要執行的操作。"</string>
     <string name="progress_dialog_exiting_ecm" msgid="9159080081676927217">"正在退出緊急回撥模式"</string>
     <string name="alert_dialog_yes" msgid="3532525979632841417">"是"</string>
@@ -652,10 +646,7 @@
     <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">
-      <item quantity="other">接下來的 <xliff:g id="COUNT_1">%s</xliff:g> 分鐘內,手機將處於緊急回撥模式。\n要立即退出這個模式嗎?</item>
-      <item quantity="one">接下來的 <xliff:g id="COUNT_0">%s</xliff:g> 分鐘內,手機將處於緊急回撥模式。\n要立即退出這個模式嗎?</item>
-    </plurals>
+    <string name="alert_dialog_exit_ecm_without_data_restriction_hint" msgid="7549850847524907932">"{count,plural, =1{接下來的 1 分鐘內,手機將處於緊急回撥模式。\n要立即退出這個模式嗎?}other{接下來的 %s 分鐘內,手機將處於緊急回撥模式。\n要立即退出這個模式嗎?}}"</string>
     <string name="voicemail_provider" msgid="4158806657253745294">"服務"</string>
     <string name="voicemail_settings" msgid="4451045613238972776">"設定"</string>
     <string name="voicemail_number_not_set" msgid="8831561283386938155">"&lt;未設定&gt;"</string>
@@ -683,7 +674,6 @@
     <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="callFailed_cdma_activation" msgid="5392057031552253550">"SIM 卡已啟用您的服務並更新了手機的漫遊功能。"</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"進行中的通話過多。請先結束或合併現有通話,再撥打新的電話。"</string>
@@ -827,7 +817,7 @@
     <string name="callFailed_already_dialing" msgid="7250591188960691086">"你正在撥出其他電話,因此無法再撥號。"</string>
     <string name="callFailed_already_ringing" msgid="2376603543544289303">"你尚未接聽來電,因此無法撥打電話。你必須先決定接聽或拒接來電,才能再撥打電話。"</string>
     <string name="callFailed_calling_disabled" msgid="5010992739401206283">"通話功能已透過 ro.telephony.disable-call system 屬性停用,因此無法撥打電話。"</string>
-    <string name="callFailed_too_many_calls" msgid="5379426826618582180">"你目前有兩場正在進行的通話,因此無法撥打電話。你必須掛斷其中一場通話或將通話合併成會議,才能再撥打電話。"</string>
+    <string name="callFailed_too_many_calls" msgid="2761754044990799580">"目前有兩場正在進行的通話,因此無法撥打電話。你必須掛斷其中一場通話或將通話合併成會議,才能再撥打電話。"</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>,請確認 SIM 卡 <xliff:g id="SIM_NUMBER">%2$d</xliff:g> 的行動數據功能已開啟。你可以前往行動網路設定進行變更。"</string>
@@ -845,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"你必須重新啟動裝置,才能變更這項設定。"</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"重新啟動"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"取消"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"將可移除的 eSIM 卡設為預設 eSIM 卡"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"行動無線電電源"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"查看 SIM 通訊錄"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"查看固定撥號"</string>
@@ -899,6 +890,7 @@
     <string name="radio_info_band_mode_label" msgid="23480556225515290">"選取無線電頻帶"</string>
     <string name="radio_info_voice_network_type_label" msgid="2395347336419593265">"語音網路類型:"</string>
     <string name="radio_info_data_network_type_label" msgid="8886597029237501929">"數據網路類型:"</string>
+    <string name="radio_info_override_network_type_label" msgid="4176280017221092005">"覆寫網路類型:"</string>
     <string name="phone_index_label" msgid="6222406512768964268">"選取電話索引"</string>
     <string name="radio_info_set_perferred_label" msgid="7408131389363136210">"設定偏好的網路類型:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="6951237885381284790">"連線偵測 (ping) 主機名稱 (www.google.com) IPv4:"</string>
@@ -910,10 +902,10 @@
     <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>
-    <string name="radio_info_dcnr_restricted" msgid="2469125498066960807">"DCNR 受限:"</string>
-    <string name="radio_info_nr_available" msgid="1321318331361249997">"NR 可供使用:"</string>
-    <string name="radio_info_nr_state" msgid="1337571996788535356">"NR 狀態:"</string>
+    <string name="radio_info_endc_available" msgid="2983767110681230019">"EN-DC 可使用 (NSA):"</string>
+    <string name="radio_info_dcnr_restricted" msgid="7147511536420148173">"DCNR 受限 (NSA):"</string>
+    <string name="radio_info_nr_available" msgid="3383388088451237182">"NR 可使用 (NSA):"</string>
+    <string name="radio_info_nr_state" msgid="4158805093187555149">"NR 狀態 (NSA):"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR 頻率:"</string>
     <string name="band_mode_title" msgid="7988822920724576842">"設定無線電頻帶模式"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"正在載入頻帶清單…"</string>
diff --git a/res/values-zu/strings.xml b/res/values-zu/strings.xml
index f14570a..3133e27 100644
--- a/res/values-zu/strings.xml
+++ b/res/values-zu/strings.xml
@@ -637,14 +637,8 @@
     <string name="phone_in_ecm_notification_title" msgid="6825016389926367946">"Imodi Yokuphinda Ukushayela Okuphuthumayo"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="653972232922670335">"Uxhumano lwedatha luvimbelwe"</string>
     <string name="phone_in_ecm_notification_complete_time" msgid="7341624337163082759">"Alukho uxhumo lwedatha kuze kube ngu-<xliff:g id="COMPLETETIME">%s</xliff:g>"</string>
-    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="5425906903766466743">
-      <item quantity="one">Ifoni izoba kumodi yokushayela emuva yesimo esiphuthumayo amaminithi angu-<xliff:g id="COUNT_1">%s</xliff:g>. Ngenkathi ikule modi azikho izinhlelo zokusebenza ezisebenzisa uxhumo ledatha ezingasetshenziswa. Ufuna ukuphuma manje?</item>
-      <item quantity="other">Ifoni izoba kumodi yokushayela emuva yesimo esiphuthumayo amaminithi angu-<xliff:g id="COUNT_1">%s</xliff:g>. Ngenkathi ikule modi azikho izinhlelo zokusebenza ezisebenzisa uxhumo ledatha ezingasetshenziswa. Ufuna ukuphuma manje?</item>
-    </plurals>
-    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="1152682528741457004">
-      <item quantity="one">Isenzo esikhethiwe asitholakali ngenkathi ikumodi yokushayela emuv ayesimo esiphuthumayo. Ifoni izoba kule modi amaminithi angu-<xliff:g id="COUNT_1">%s</xliff:g>. Ufuna ukuphuma manje?</item>
-      <item quantity="other">Isenzo esikhethiwe asitholakali ngenkathi ikumodi yokushayela emuv ayesimo esiphuthumayo. Ifoni izoba kule modi amaminithi angu-<xliff:g id="COUNT_1">%s</xliff:g>. Ufuna ukuphuma manje?</item>
-    </plurals>
+    <!-- format error in translation for alert_dialog_exit_ecm (7661603870224398025) -->
+    <!-- format error in translation for alert_dialog_not_avaialble_in_ecm (8717711120099503279) -->
     <string name="alert_dialog_in_ecm_call" msgid="1207545603149771978">"Isenzo esikhethiwe asitholakali ngenkathi usocingweni oluphuthumayo"</string>
     <string name="progress_dialog_exiting_ecm" msgid="9159080081676927217">"Ikhipha Imodi Yokuphinda Ukushaya Okuphuthumayo"</string>
     <string name="alert_dialog_yes" msgid="3532525979632841417">"Yebo"</string>
@@ -652,10 +646,7 @@
     <string name="alert_dialog_dismiss" msgid="1336356286354517054">"Susa"</string>
     <string name="phone_in_ecm_call_notification_text_without_data_restriction_hint" msgid="3747860785153531225">"Ifoni ikumodi yokushaya okuphuthumayo"</string>
     <string name="phone_in_ecm_notification_complete_time_without_data_restriction_hint" msgid="3690292264812050858">"Kuze kube ngu-<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">Ifoni izoba kumodi yokushaya kwesimo esiphuthumayo amaminithi angu-<xliff:g id="COUNT_1">%s</xliff:g>.\nIngabe ufuna ukuphuma manje?</item>
-      <item quantity="other">Ifoni izoba kumodi yokushaya kwesimo esiphuthumayo amaminithi angu-<xliff:g id="COUNT_1">%s</xliff:g>.\nIngabe ufuna ukuphuma manje?</item>
-    </plurals>
+    <!-- format error in translation for alert_dialog_exit_ecm_without_data_restriction_hint (7549850847524907932) -->
     <string name="voicemail_provider" msgid="4158806657253745294">"Isevisi"</string>
     <string name="voicemail_settings" msgid="4451045613238972776">"Ukumisa"</string>
     <string name="voicemail_number_not_set" msgid="8831561283386938155">"&lt;Ayisethiwe&gt;"</string>
@@ -683,7 +674,6 @@
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"Ukufinyeleleka"</string>
     <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"Ikholi ye-Wi-Fi kusukela ku-"</string>
     <string name="status_hint_label_wifi_call" msgid="942993035689809853">"Ikholi ye-Wi-Fi"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"Thepha futhi ukuze uvule"</string>
     <string name="message_decode_error" msgid="1061856591500290887">"Kube nephutha ngenkathi kukhishwa ikhodi kumlayezo."</string>
     <string name="callFailed_cdma_activation" msgid="5392057031552253550">"Ikhadi le-SIM lenze kwasebenza isevisi yakho laphinde labuyekeza amakhono okuzula wefoni yakho."</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"Kunamakholi amaningi asebenzayo. Sicela uphelise noma uhlanganise amakholi akhona ngaphambi kokubeka eyodwa."</string>
@@ -827,7 +817,7 @@
     <string name="callFailed_already_dialing" msgid="7250591188960691086">"Ayikwazi ukubeka ikholi njengoba enye ikholi ephumayo isivele iyadayela."</string>
     <string name="callFailed_already_ringing" msgid="2376603543544289303">"Ayikwazi ukubeka ikholi njengoba kunekholi engenayo engaphenduliwe. Phendula noma nqaba ikholi engenayo ngaphambi kokubeka ikholi entsha."</string>
     <string name="callFailed_calling_disabled" msgid="5010992739401206283">"Ayikwazi ukubeka ikholi njengoba ukushaya kukhutshaziwe kusetshenziswa isistimu ye-ro.telephony.disable-call."</string>
-    <string name="callFailed_too_many_calls" msgid="5379426826618582180">"Ayikwazi ukubeka ikholi njengoba sekuvele kunamakholi amabili aqhubekayo. Nqamula eyodwa yamakholi noma ahlanganise ngaphambi ngaphambi kokubeka ikholi entsha."</string>
+    <string name="callFailed_too_many_calls" msgid="2761754044990799580">"Awukwazi ukubeka ikholi njengoba kunamakholi amabili aqhubekayo kakade. Nqamula eyodwa yamakholi noma wahlanganisele enkofeni ngaphambi kokubeka ikholi entsha."</string>
     <string name="supp_service_over_ut_precautions" msgid="2145018231396701311">"Ukuze usebenzise i-<xliff:g id="SUPP_SERVICE">%s</xliff:g>, qiniseka ukuthi idatha yeselula ivuliwe. Ungashintsha lokhu kuzilungiselelo zenethiwekhi yeselula."</string>
     <string name="supp_service_over_ut_precautions_roaming" msgid="670342104569972327">"Ukuze usebenzise i-<xliff:g id="SUPP_SERVICE">%s</xliff:g>, qiniseka ukuthi idatha yeselula kanye nokuzula kuvuliwe. Ungashintsha lokhu kuzilungiselelo zenethiwekhi yeselula."</string>
     <string name="supp_service_over_ut_precautions_dual_sim" msgid="5166866975550910474">"Ukuze usebenzise i-<xliff:g id="SUPP_SERVICE">%1$s</xliff:g>, qiniseka ukuthi idatha yeselula ivuliwe ku-SIM <xliff:g id="SIM_NUMBER">%2$d</xliff:g>. Ungashintsha lokhu kuzilungiselelo zenethiwekhi yeselula."</string>
@@ -845,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"Udinga ukuqalisa kabusha idivayisi yakho ukushintsha lesi silungiselelo."</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"Qala kabusha"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"Khansela"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"Setha i-eSim Esusekayo Njengezenzakalelayo"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"Amandla erediyo yeselula"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"Buka incwadi yekheli le-SIM"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"Buka Izinombolo Zokudayela Okungaguquki"</string>
@@ -899,6 +890,7 @@
     <string name="radio_info_band_mode_label" msgid="23480556225515290">"Khetha ibhendi yerediyo"</string>
     <string name="radio_info_voice_network_type_label" msgid="2395347336419593265">"Uhlobo lwenethiwekhi yezwi:"</string>
     <string name="radio_info_data_network_type_label" msgid="8886597029237501929">"Uhlobo lwenethiwekhi yedatha:"</string>
+    <string name="radio_info_override_network_type_label" msgid="4176280017221092005">"Khipha Uhlobo Lwenethiwekhi:"</string>
     <string name="phone_index_label" msgid="6222406512768964268">"Khetha inkomba yefoni"</string>
     <string name="radio_info_set_perferred_label" msgid="7408131389363136210">"Setha uhlobo lwenethiwekhi olufisekayo:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="6951237885381284790">"Qhweba i-Hostname(www.google.com) IPv4:"</string>
@@ -910,10 +902,10 @@
     <string name="radio_info_smsc_refresh_label" msgid="8409923721451604560">"Vuselela"</string>
     <string name="radio_info_toggle_dns_check_label" msgid="1394078554927787350">"Guqula ukuhlola i-DNS"</string>
     <string name="oem_radio_info_label" msgid="2914167475119997456">"Ulwazi oucacile kwe-OEM/Izilungiselelo"</string>
-    <string name="radio_info_endc_available" msgid="4410653375290113436">"I-EN-DC Iyatholakala:"</string>
-    <string name="radio_info_dcnr_restricted" msgid="2469125498066960807">"Okukhawulelwe kwe-DCNR:"</string>
-    <string name="radio_info_nr_available" msgid="1321318331361249997">"I-NR Iyatholakala:"</string>
-    <string name="radio_info_nr_state" msgid="1337571996788535356">"Isimo se-NR:"</string>
+    <string name="radio_info_endc_available" msgid="2983767110681230019">"I-EN-DC Iyatholakala (NSA):"</string>
+    <string name="radio_info_dcnr_restricted" msgid="7147511536420148173">"Ikhawulewe nge-DCNR (NSA):"</string>
+    <string name="radio_info_nr_available" msgid="3383388088451237182">"I-NR Iyatholakala (NSA):"</string>
+    <string name="radio_info_nr_state" msgid="4158805093187555149">"Isimo se-NR (NSA):"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"Imvamisa ye-NR:"</string>
     <string name="band_mode_title" msgid="7988822920724576842">"Isetha imodi yebhendi yerediyo"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"Ilayisha uhlu lwebhendi…"</string>
diff --git a/res/values/config.xml b/res/values/config.xml
index a296254..19252c0 100644
--- a/res/values/config.xml
+++ b/res/values/config.xml
@@ -156,7 +156,7 @@
     <!-- Package name for the mobile network settings [DO NOT TRANSLATE] -->
     <string name="mobile_network_settings_package" translatable="false">com.android.settings</string>
     <!-- Class name for the mobile network settings activity [DO NOT TRANSLATE] -->
-    <string name="mobile_network_settings_class" translatable="false">com.android.settings.network.telephony.MobileNetworkActivity</string>
+    <string name="mobile_network_settings_class" translatable="false">com.android.settings.Settings$MobileNetworkActivity</string>
 
     <!-- CDMA activation goes through HFA -->
     <!-- DEPRECATED: Use CarrierConfigManager#KEY_USE_HFA_FOR_PROVISIONING_BOOL -->
@@ -317,8 +317,4 @@
     <!-- The package names which can request thermal mitigation. -->
     <string-array name="thermal_mitigation_allowlisted_packages" translatable="false">
     </string-array>
-
-    <!-- The package name of the app which hosts the
-         {@link TelecomManager#ACTION_SHOW_CALL_SETTINGS} settings screen. -->
-    <string name="call_settings_package_name">com.android.phone</string>
 </resources>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 2077530..38a86f9 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -1446,19 +1446,19 @@
     <!-- ECM: Displays the time when ECM will end, Example: "No Data Connection until 10:45 AM" -->
     <string name="phone_in_ecm_notification_complete_time">No data connection until <xliff:g id="completeTime">%s</xliff:g></string>
     <!-- ECM: Dialog box message for exiting from the notifications screen -->
-    <plurals name="alert_dialog_exit_ecm">
+    <string name="alert_dialog_exit_ecm"> {count, plural,
         <!-- number of minutes is one -->
-        <item quantity="one">The phone will be in Emergency Callback mode for <xliff:g id="count">%s</xliff:g> minute. While in this mode no apps using a data connection can be used. Do you want to exit now?</item>
+        =1    {The phone will be in Emergency Callback mode for one minute. While in this mode no apps using a data connection can be used. Do you want to exit now?}
         <!-- number of minutes is not equal to one -->
-        <item quantity="other">The phone will be in Emergency Callback mode for <xliff:g id="count">%s</xliff:g> minutes. While in this mode no applications using a data connection can be used. Do you want to exit now?</item>
-    </plurals>
+        other {The phone will be in Emergency Callback mode for %s minutes. While in this mode no applications using a data connection can be used. Do you want to exit now?}
+    }</string>
     <!-- ECM: Dialog box message for exiting from any other app -->
-    <plurals name="alert_dialog_not_avaialble_in_ecm">
+    <string name="alert_dialog_not_avaialble_in_ecm"> {count, plural,
         <!-- number of minutes is one -->
-        <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">%s</xliff:g> minute. Do you want to exit now?</item>
+        =1    {The selected action isn\'t available while in the Emergency Callback mode. The phone will be in this mode for one minute. Do you want to exit now?}
         <!-- number of minutes is not equal to one -->
-        <item quantity="other">The selected action isn\'t available while in the Emergency Callback mode. The phone will be in this mode for <xliff:g id="count">%s</xliff:g> minutes. Do you want to exit now?</item>
-    </plurals>
+        other {The selected action isn\'t available while in the Emergency Callback mode. The phone will be in this mode for %s minutes. Do you want to exit now?}
+    }</string>
     <!-- ECM: Dialog box message while in emergency call -->
     <string name="alert_dialog_in_ecm_call">The selected action isn\'t available while in an emergency call.</string>
     <!-- ECM: Progress text -->
@@ -1474,12 +1474,12 @@
     <!-- ECM: Displays the time when ECM will end without data restriction hint, Example: "Until 10:45 AM" -->
     <string name="phone_in_ecm_notification_complete_time_without_data_restriction_hint">Until <xliff:g id="completeTime">%s</xliff:g></string>
     <!-- ECM: Dialog box message without data restriction hint for exiting from the notifications screen -->
-    <plurals name="alert_dialog_exit_ecm_without_data_restriction_hint">
+    <string name="alert_dialog_exit_ecm_without_data_restriction_hint"> {count, plural,
         <!-- number of minutes is one -->
-        <item quantity="one">The phone will be in emergency callback mode for <xliff:g id="count">%s</xliff:g> minute.\nDo you want to exit now?</item>
+        =1    {The phone will be in emergency callback mode for one minute.\nDo you want to exit now?}
         <!-- number of minutes is not equal to one -->
-        <item quantity="other">The phone will be in emergency callback mode for <xliff:g id="count">%s</xliff:g> minutes.\nDo you want to exit now?</item>
-    </plurals>
+        other {The phone will be in emergency callback mode for %s minutes.\nDo you want to exit now?}
+    }</string>
 
     <!-- For incoming calls, this is a string we can get from a CDMA network instead of
          the actual phone number, to indicate there's no number present.  DO NOT TRANSLATE. -->
@@ -1601,9 +1601,6 @@
     <!-- DO NOT TRANSLATE. Internal key for a voicemail notification preference. -->
     <string name="wifi_calling_settings_key">button_wifi_calling_settings_key</string>
 
-    <!-- Hint appearing below a selected action on the emergency dialer telling user to tap again to execute the action [CHAR LIMIT=NONE] -->
-    <string name="emergency_action_launch_hint">Tap again to open</string>
-
     <!-- Strings for IMAP -->
 
     <!-- String used in place of a message that could not be properly decoded (e.g. bad base64
@@ -1952,7 +1949,7 @@
     <string name="callFailed_calling_disabled">Cannot place a call as calling has been disabled using the ro.telephony.disable-call system property.</string>
     <!-- In-call screen: error message shown when the user attempts to place a call, but calling has
          been disabled using a debug property. -->
-    <string name="callFailed_too_many_calls">Cannot place a call a there are already two calls in progress.  Disconnect one of the calls or merge them into a conference prior to placing a new call.</string>
+    <string name="callFailed_too_many_calls">Cannot place a call as there are already two calls in progress.  Disconnect one of the calls or merge them into a conference prior to placing a new call.</string>
     <!-- Message displayed to the user when they attempt to edit options for a supplementary service
          (call waiting, call barring, call forwarding, and caller ID), but they are required to
          enable mobile data first. -->
@@ -2007,6 +2004,9 @@
     <!-- UI debug setting: Enable/Disable DSDS [CHAR LIMIT=none] -->
     <string name="dsds_dialog_cancel">Cancel</string>
 
+    <!-- Setting Removable esim as default. Only shown in diagnostic screen, so precise translation is not needed -->
+    <string name="removable_esim_string">Set Removable eSIM as Default</string>
+
     <!-- Title for controlling on/off for Mobile phone's radio power. Only shown in diagnostic screen, so precise translation is not needed. -->
     <string name="radio_info_radio_power">Mobile Radio Power</string>
 
@@ -2130,6 +2130,8 @@
     <!-- Radio Info screen. Label for a status item.  Used for diagnostic info screens, precise translation isn't needed -->
     <string name="radio_info_data_network_type_label">Data Network Type:</string>
     <!-- Radio Info screen. Label for a status item.  Used for diagnostic info screens, precise translation isn't needed -->
+    <string name="radio_info_override_network_type_label">Override Network Type:</string>
+    <!-- Radio Info screen. Label for a status item.  Used for diagnostic info screens, precise translation isn't needed -->
     <string name="phone_index_label">Select phone index</string>
     <!-- Radio Info screen. Label for a status item.  Used for diagnostic info screens, precise translation isn't needed -->
     <string name="radio_info_set_perferred_label">Set Preferred Network Type:</string>
@@ -2152,17 +2154,17 @@
     <!-- Radio Info screen. Label for a status item.  Used for diagnostic info screens, precise translation isn't needed -->
     <string name="oem_radio_info_label">OEM-specific Info/Settings</string>
     <!-- Radio Info screen. Label for a status item.  Used for diagnostic info screens, precise translation isn't needed -->
-    <string name="radio_info_endc_available">EN-DC Available:</string>
+    <string name="radio_info_endc_available">EN-DC Available (NSA):</string>
     <!-- Radio Info screen. Label for a status item.  Used for diagnostic info screens, precise translation isn't needed -->
-    <string name="radio_info_dcnr_restricted">DCNR Restricted:</string>
+    <string name="radio_info_dcnr_restricted">DCNR Restricted (NSA):</string>
     <!-- Radio Info screen. Label for a status item.  Used for diagnostic info screens, precise translation isn't needed -->
-    <string name="radio_info_nr_available">NR Available:</string>
+    <string name="radio_info_nr_available">NR Available (NSA):</string>
     <!-- Radio Info screen. Label for a status item.  Used for diagnostic info screens, precise translation isn't needed -->
-    <string name="radio_info_nr_state">NR State:</string>
+    <string name="radio_info_nr_state">NR State (NSA):</string>
     <!-- Radio Info screen. Label for a status item.  Used for diagnostic info screens, precise translation isn't needed -->
     <string name="radio_info_nr_frequency">NR Frequency:</string>
     <!-- Radio Info screen. Label for a status item.  Used for diagnostic info screens, precise translation isn't needed -->
-    <string name="radio_info_network_slicing_config" translatable="false">Network slicing config:</string>
+    <string name="radio_info_network_slicing_config" translatable="false">Network Slicing Config:</string>
 
     <!-- Band Mode Selection -->
     <!-- Band mode screen.  Title of activity. -->
diff --git a/sip/proguard.flags b/sip/proguard.flags
deleted file mode 100644
index 1c380ed..0000000
--- a/sip/proguard.flags
+++ /dev/null
@@ -1,3 +0,0 @@
--verbose
--keep class com.android.services.telephony.sip.SipConnectionService
--keep class com.android.services.telephony.sip.SipIncomingCallReceiver
diff --git a/sip/res/layout/sip_settings_ui.xml b/sip/res/layout/sip_settings_ui.xml
deleted file mode 100644
index 872c4b5..0000000
--- a/sip/res/layout/sip_settings_ui.xml
+++ /dev/null
@@ -1,33 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-**
-** Copyright 2010, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    android:orientation="vertical">
-
-    <ListView xmlns:android="http://schemas.android.com/apk/res/android"
-        android:id="@android:id/list"
-        android:layout_width="match_parent"
-        android:layout_height="0dip"
-        android:layout_weight="1"
-        android:drawSelectorOnTop="false"
-        android:scrollbarAlwaysDrawVerticalTrack="true"
-    />
-
-</LinearLayout>
diff --git a/sip/res/values-af/strings.xml b/sip/res/values-af/strings.xml
deleted file mode 100644
index 3c0bcd4..0000000
--- a/sip/res/values-af/strings.xml
+++ /dev/null
@@ -1,80 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2014 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7452587325305604702">"SIP-instellings"</string>
-    <string name="sip_accounts" msgid="7297896885665783239">"SIP-rekeninge"</string>
-    <string name="sip_accounts_title" msgid="3061686404598143943">"Rekeninge"</string>
-    <string name="sip_receive_calls" msgid="3403644006618369349">"Ontvang inkomende oproepe"</string>
-    <string name="sip_receive_calls_summary" msgid="5306603671778761443">"Gebruik meer batterykrag"</string>
-    <string name="sip_call_options_title" msgid="5027066677561068192">"Gebruik SIP-oproepe"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6663105297927456484">"Gebruik SIP-oproepe (net Wi-Fi)"</string>
-    <string name="sip_call_options_entry_1" msgid="4722647332760934261">"Vir alle oproepe wanneer datanetwerk beskikbaar is"</string>
-    <string name="sip_call_options_entry_2" msgid="7338504256051655013">"Net vir SIP-oproepe"</string>
-    <string name="sip_call_options_wifi_only_entry_1" msgid="922329055414010991">"Vir alle oproepe"</string>
-    <string name="add_sip_account" msgid="5754758646745144384">"Voeg rekening by"</string>
-    <string name="remove_sip_account" msgid="8272617403399636513">"Verwyder rekening"</string>
-    <string name="sip_account_list" msgid="2596262496233721769">"SIP-rekeninge"</string>
-    <string name="saving_account" msgid="3390358043846687266">"Stoor tans die rekening …"</string>
-    <string name="removing_account" msgid="1544132880414780408">"Verwyder tans die rekening …"</string>
-    <string name="sip_menu_save" msgid="4377112554203123060">"Stoor"</string>
-    <string name="sip_menu_discard" msgid="1883166691772895243">"Gooi weg"</string>
-    <string name="alert_dialog_close" msgid="1734746505531110706">"Sluit die profiel"</string>
-    <string name="alert_dialog_ok" msgid="7806760618798687406">"Goed"</string>
-    <string name="close_profile" msgid="3756064641769751774">"Maak toe"</string>
-    <string name="registration_status_checking_status" msgid="884179594507591180">"Gaan tans status na …"</string>
-    <string name="registration_status_registering" msgid="7986331597809521791">"Registreer tans …"</string>
-    <string name="registration_status_still_trying" msgid="7178623685868766282">"Probeer steeds …"</string>
-    <string name="registration_status_not_receiving" msgid="3873074208531938401">"Ontvang nie tans oproepe nie."</string>
-    <string name="registration_status_no_data" msgid="2987064560116584121">"Rekeningregistrasie het gestop omdat daar geen internetverbinding is nie."</string>
-    <string name="registration_status_no_wifi_data" msgid="685470618241482948">"Rekeningregistrasie het gestop omdat daar geen Wi-Fi-verbinding is nie."</string>
-    <string name="registration_status_not_running" msgid="6236403137652262659">"Rekeningregistrasie het misluk."</string>
-    <string name="registration_status_done" msgid="6787397199273357721">"Ontvang tans oproepe."</string>
-    <string name="registration_status_failed_try_later" msgid="7855389184910312091">"Rekeningregistrasie het misluk: (<xliff:g id="REGISTRATION_ERROR_MESSAGE">%s</xliff:g>); sal later probeer"</string>
-    <string name="registration_status_invalid_credentials" msgid="8896714049938660777">"Rekeningregistrasie het misluk: Verkeerde gebruikernaam of wagwoord."</string>
-    <string name="registration_status_server_unreachable" msgid="3832339558868965604">"Rekeningregistrasie het misluk: Gaan die bedienernaam na."</string>
-    <string name="third_party_account_summary" msgid="5918779106950859167">"Hierdie rekening word tans deur die <xliff:g id="ACCOUNT_OWNER">%s</xliff:g>-program gebruik."</string>
-    <string name="sip_edit_title" msgid="7438891546610820307">"SIP-rekeningbesonderhede"</string>
-    <string name="sip_edit_new_title" msgid="8394790068979636381">"SIP-rekeningbesonderhede"</string>
-    <string name="domain_address_title" msgid="8238078615181248579">"Bediener"</string>
-    <string name="username_title" msgid="298416796886107970">"Gebruikernaam"</string>
-    <string name="password_title" msgid="8035579335591959021">"Wagwoord"</string>
-    <string name="display_name_title" msgid="3730105783656830160">"Vertoonnaam"</string>
-    <string name="proxy_address_title" msgid="4120361943254795287">"Uitgaande instaanadres"</string>
-    <string name="port_title" msgid="1703586046264385110">"Poortnommer"</string>
-    <string name="transport_title" msgid="1661659138226029178">"Vervoertipe"</string>
-    <string name="send_keepalive_title" msgid="5319788151608946049">"Stuur hou lewendig"</string>
-    <string name="advanced_settings" msgid="2704644977548662872">"Opsionele instellings"</string>
-    <string name="auth_username_title" msgid="9002505242616662698">"Stawinggebruikernaam"</string>
-    <string name="auth_username_summary" msgid="6346313945275377230">"Gebruikernaam gebruik vir stawing"</string>
-    <string name="default_preference_summary_username" msgid="8788114717555599222">"&lt;Nie gestel nie&gt;"</string>
-    <string name="default_preference_summary_password" msgid="3695366978153175549">"&lt;Nie gestel nie&gt;"</string>
-    <string name="default_preference_summary_domain_address" msgid="443247296785732364">"&lt;Nie gestel nie&gt;"</string>
-    <string name="display_name_summary" msgid="6749135030093260358">"&lt;Dieselfde as gebruikernaam&gt;"</string>
-    <string name="optional_summary" msgid="620379377865437488">"&lt;Opsioneel&gt;"</string>
-    <string name="advanced_settings_show" msgid="2318728080037568529">"▷ Raak om almal te wys"</string>
-    <string name="advanced_settings_hide" msgid="6200816937370652083">"▽ Raak om almal te versteek"</string>
-    <string name="all_empty_alert" msgid="6085603517610199098">"Voer besonderhede van nuwe SIP-rekening in."</string>
-    <string name="empty_alert" msgid="3693655518612836718">"<xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> word vereis en kan nie leeg wees nie."</string>
-    <string name="not_a_valid_port" msgid="3664668836663491376">"Poortnommer moet tussen 1000 en 65534 wees."</string>
-    <string name="no_internet_available" msgid="161720645084325479">"Gaan eers jou internetverbinding na om \'n SIP-oproep te maak."</string>
-    <string name="no_wifi_available" msgid="1179092018692306312">"Jy moet aan \'n Wi-Fi-netwerk gekoppel wees om SIP-oproepe te maak (gebruik die Draadlose en netwerkinstellings)."</string>
-    <string name="no_voip" msgid="3366395789297981738">"SIP-oproepe word nie gesteun nie"</string>
-    <string name="sip_system_decide" msgid="197230378376326430">"Outomaties"</string>
-    <string name="sip_always_send_keepalive" msgid="4986533673960084769">"Stuur altyd"</string>
-    <string name="sip_connection_service_label" msgid="8796284274240316006">"Ingeboude SIP-oproepe"</string>
-</resources>
diff --git a/sip/res/values-am/strings.xml b/sip/res/values-am/strings.xml
deleted file mode 100644
index 47977fd..0000000
--- a/sip/res/values-am/strings.xml
+++ /dev/null
@@ -1,80 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2014 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7452587325305604702">"SIP ቅንብሮች"</string>
-    <string name="sip_accounts" msgid="7297896885665783239">"የSIP መለያዎች"</string>
-    <string name="sip_accounts_title" msgid="3061686404598143943">"መለያዎች"</string>
-    <string name="sip_receive_calls" msgid="3403644006618369349">"ገቢ ጥሪዎች ተቀበል"</string>
-    <string name="sip_receive_calls_summary" msgid="5306603671778761443">"ተጨማሪ የባትሪ ዕድሜን ይጠቀማል"</string>
-    <string name="sip_call_options_title" msgid="5027066677561068192">"የSIP መደወያን ተጠቀም"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6663105297927456484">"የSIP መደወያን ተጠቀም (Wi-Fi ብቻ)"</string>
-    <string name="sip_call_options_entry_1" msgid="4722647332760934261">"ለሁሉም ጥሪዎች የውሂብ አውታረመረብ ሲኖር"</string>
-    <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="sip_account_list" msgid="2596262496233721769">"SIP መለያዎች"</string>
-    <string name="saving_account" msgid="3390358043846687266">"መለያውን በማስቀመጥ ላይ…"</string>
-    <string name="removing_account" msgid="1544132880414780408">"መለያውን በማስወገድ ላይ…"</string>
-    <string name="sip_menu_save" msgid="4377112554203123060">"አስቀምጥ"</string>
-    <string name="sip_menu_discard" msgid="1883166691772895243">"ጣለው"</string>
-    <string name="alert_dialog_close" msgid="1734746505531110706">"መገለጫውን ይዝጉ"</string>
-    <string name="alert_dialog_ok" msgid="7806760618798687406">"እሺ"</string>
-    <string name="close_profile" msgid="3756064641769751774">"ዝጋ"</string>
-    <string name="registration_status_checking_status" msgid="884179594507591180">"ሁኔታን በመመልከት ላይ..."</string>
-    <string name="registration_status_registering" msgid="7986331597809521791">"በመመዝገብ ላይ…"</string>
-    <string name="registration_status_still_trying" msgid="7178623685868766282">"አሁንም በመሞከር ላይ…"</string>
-    <string name="registration_status_not_receiving" msgid="3873074208531938401">"ጥሪዎች እየተቀበለ አይደለም።"</string>
-    <string name="registration_status_no_data" msgid="2987064560116584121">"የበይነመረብ ግኑኝነት ስለሌለ የመለያ ምዝገባ ቆሟል።"</string>
-    <string name="registration_status_no_wifi_data" msgid="685470618241482948">"ምንም የWi-Fi ግንኙነት ስለሌለ የመለያ ምዝገባ ቆሟል።"</string>
-    <string name="registration_status_not_running" msgid="6236403137652262659">"የመለያ ምዝገባ አልተሳካም።"</string>
-    <string name="registration_status_done" msgid="6787397199273357721">"ጥሪዎች በመቀበል ላይ።"</string>
-    <string name="registration_status_failed_try_later" msgid="7855389184910312091">"የመለያ ምዝገባ አልተሳካም፦ <xliff:g id="REGISTRATION_ERROR_MESSAGE">%s</xliff:g>፤ ኋላ ላይ እንደገና ይሞከራል"</string>
-    <string name="registration_status_invalid_credentials" msgid="8896714049938660777">"የመለያ ምዝገባ አልተሳካም፦ የተሳሳተ የተጠቃሚ ስም ወይም ይለፍ ቃል።"</string>
-    <string name="registration_status_server_unreachable" msgid="3832339558868965604">"የመለያ ምዝገባ አልተሳካም፦ የአገልጋዩን ስም ትክክለኛነት ያረጋግጡ።"</string>
-    <string name="third_party_account_summary" msgid="5918779106950859167">"ይህ መለያ በአሁኑ ጊዜ በ<xliff:g id="ACCOUNT_OWNER">%s</xliff:g> መተግበሪያ ጥቅም ላይ ነው።"</string>
-    <string name="sip_edit_title" msgid="7438891546610820307">"SIP መለያ ዝርዝሮች"</string>
-    <string name="sip_edit_new_title" msgid="8394790068979636381">"SIP መለያ ዝርዝሮች"</string>
-    <string name="domain_address_title" msgid="8238078615181248579">"አገልጋይ"</string>
-    <string name="username_title" msgid="298416796886107970">"የተጠቃሚ ስም"</string>
-    <string name="password_title" msgid="8035579335591959021">"የይለፍ ቃል"</string>
-    <string name="display_name_title" msgid="3730105783656830160">"የማሳያ ስም"</string>
-    <string name="proxy_address_title" msgid="4120361943254795287">"የወደ ውጪ እጅ አዙር አድራሻ"</string>
-    <string name="port_title" msgid="1703586046264385110">"ወደብ ቁጥር"</string>
-    <string name="transport_title" msgid="1661659138226029178">"የማጓጓዣ አይነት"</string>
-    <string name="send_keepalive_title" msgid="5319788151608946049">"keep-alive ላክ"</string>
-    <string name="advanced_settings" msgid="2704644977548662872">"አማራጭ ቅንብሮች"</string>
-    <string name="auth_username_title" msgid="9002505242616662698">"የማረጋገጫ  የተጠቃሚ ስም"</string>
-    <string name="auth_username_summary" msgid="6346313945275377230">"ተጠቃሚ ስም ለማረጋገጫ ተጠቅሟል"</string>
-    <string name="default_preference_summary_username" msgid="8788114717555599222">"&lt;አልተዘጋጀም&gt;"</string>
-    <string name="default_preference_summary_password" msgid="3695366978153175549">"&lt;አልተዘጋጀም&gt;"</string>
-    <string name="default_preference_summary_domain_address" msgid="443247296785732364">"&lt;አልተዘጋጀም&gt;"</string>
-    <string name="display_name_summary" msgid="6749135030093260358">"&lt;ከተጠቃሚ ስም ጋር አንድ አይነት&gt;"</string>
-    <string name="optional_summary" msgid="620379377865437488">"&lt;አስገዳጅ ያልሆነ&gt;"</string>
-    <string name="advanced_settings_show" msgid="2318728080037568529">"ሁሉን ለማሳየት ▷ ይንኩ"</string>
-    <string name="advanced_settings_hide" msgid="6200816937370652083">"ሁሉንም ለመደበቅ ▽ ይንኩ"</string>
-    <string name="all_empty_alert" msgid="6085603517610199098">"አዲስ የSIP መለያ ዝርዝሮችን ያስገቡ።"</string>
-    <string name="empty_alert" msgid="3693655518612836718">"<xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> ይጠይቃል፣ ባዶ መተው አይቻልም።"</string>
-    <string name="not_a_valid_port" msgid="3664668836663491376">"የወደብ ቁጥር በ1000 እና 65534 ውስጥ መሆን አለበት።"</string>
-    <string name="no_internet_available" msgid="161720645084325479">"የSIP ጥሪ ለማድረግ፣ በመጀመሪያ የበይነመረብ ግንኙነትዎን ይፈትሹ።"</string>
-    <string name="no_wifi_available" msgid="1179092018692306312">"SIP ጥሪዎችን ለማድረግ ወደ Wi-Fi አውታረ መረብ መገናኘት ያስፈልግዎታል (ሽቦ አልባ እና አውታረ መረብ ቅንብሮችን ይጠቀሙ)።"</string>
-    <string name="no_voip" msgid="3366395789297981738">"የSIP መደወያ አይደገፍም"</string>
-    <string name="sip_system_decide" msgid="197230378376326430">"ራስ ሰር"</string>
-    <string name="sip_always_send_keepalive" msgid="4986533673960084769">"ሁልጊዜ ላክ"</string>
-    <string name="sip_connection_service_label" msgid="8796284274240316006">"ውስጠ ግንቡ SIP መደወያ"</string>
-</resources>
diff --git a/sip/res/values-ar/strings.xml b/sip/res/values-ar/strings.xml
deleted file mode 100644
index 4cc9450..0000000
--- a/sip/res/values-ar/strings.xml
+++ /dev/null
@@ -1,80 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2014 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7452587325305604702">"‏إعدادات SIP"</string>
-    <string name="sip_accounts" msgid="7297896885665783239">"‏حسابات SIP"</string>
-    <string name="sip_accounts_title" msgid="3061686404598143943">"الحسابات"</string>
-    <string name="sip_receive_calls" msgid="3403644006618369349">"تلقي المكالمات الواردة"</string>
-    <string name="sip_receive_calls_summary" msgid="5306603671778761443">"تستهلك المزيد من عمر البطارية"</string>
-    <string name="sip_call_options_title" msgid="5027066677561068192">"‏استخدام اتصالات SIP"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6663105297927456484">"‏استخدام اتصالات SIP ‏(Wi-Fi فقط)"</string>
-    <string name="sip_call_options_entry_1" msgid="4722647332760934261">"لكل المكالمات عند توفر شبكة البيانات"</string>
-    <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="sip_account_list" msgid="2596262496233721769">"‏حسابات SIP"</string>
-    <string name="saving_account" msgid="3390358043846687266">"جارٍ حفظ الحساب…"</string>
-    <string name="removing_account" msgid="1544132880414780408">"جارٍ إزالة الحساب…"</string>
-    <string name="sip_menu_save" msgid="4377112554203123060">"حفظ"</string>
-    <string name="sip_menu_discard" msgid="1883166691772895243">"إلغاء"</string>
-    <string name="alert_dialog_close" msgid="1734746505531110706">"إغلاق الملف الشخصي"</string>
-    <string name="alert_dialog_ok" msgid="7806760618798687406">"حسنًا"</string>
-    <string name="close_profile" msgid="3756064641769751774">"إغلاق"</string>
-    <string name="registration_status_checking_status" msgid="884179594507591180">"جارٍ فحص الحالة…"</string>
-    <string name="registration_status_registering" msgid="7986331597809521791">"جارٍ التسجيل…"</string>
-    <string name="registration_status_still_trying" msgid="7178623685868766282">"لا تزال المحاولة مستمرة…"</string>
-    <string name="registration_status_not_receiving" msgid="3873074208531938401">"لا يتم تلقي مكالمات."</string>
-    <string name="registration_status_no_data" msgid="2987064560116584121">"توقف تسجيل الحساب نظرًا لعدم توفر اتصال بالإنترنت."</string>
-    <string name="registration_status_no_wifi_data" msgid="685470618241482948">"‏توقف تسجيل الحساب نظرًا لعدم توفر اتصال Wi-Fi."</string>
-    <string name="registration_status_not_running" msgid="6236403137652262659">"لم يتم تسجيل الحساب بنجاح."</string>
-    <string name="registration_status_done" msgid="6787397199273357721">"جارٍ استلام مكالمات."</string>
-    <string name="registration_status_failed_try_later" msgid="7855389184910312091">"لم يكتمل تسجيل الحساب بنجاح: (<xliff:g id="REGISTRATION_ERROR_MESSAGE">%s</xliff:g>)، وستتم المحاولة لاحقًا"</string>
-    <string name="registration_status_invalid_credentials" msgid="8896714049938660777">"لم يتم تسجيل الحساب بنجاح: اسم مستخدم غير صحيح أو كلمة مرور غير صحيحة."</string>
-    <string name="registration_status_server_unreachable" msgid="3832339558868965604">"لم يتم تسجيل الحساب بنجاح: تحقق من اسم الخادم."</string>
-    <string name="third_party_account_summary" msgid="5918779106950859167">"هذا الحساب قيد الاستخدام حاليًا من خلال تطبيق <xliff:g id="ACCOUNT_OWNER">%s</xliff:g>."</string>
-    <string name="sip_edit_title" msgid="7438891546610820307">"‏تفاصيل حساب SIP"</string>
-    <string name="sip_edit_new_title" msgid="8394790068979636381">"‏تفاصيل حساب SIP"</string>
-    <string name="domain_address_title" msgid="8238078615181248579">"الخادم"</string>
-    <string name="username_title" msgid="298416796886107970">"اسم المستخدم"</string>
-    <string name="password_title" msgid="8035579335591959021">"كلمة المرور"</string>
-    <string name="display_name_title" msgid="3730105783656830160">"اسم العرض"</string>
-    <string name="proxy_address_title" msgid="4120361943254795287">"عنوان وكيل صادر"</string>
-    <string name="port_title" msgid="1703586046264385110">"رقم المنفذ"</string>
-    <string name="transport_title" msgid="1661659138226029178">"نوع النقل"</string>
-    <string name="send_keepalive_title" msgid="5319788151608946049">"إرسال رسالة للتحقق من الاتصال"</string>
-    <string name="advanced_settings" msgid="2704644977548662872">"الإعدادات الاختيارية"</string>
-    <string name="auth_username_title" msgid="9002505242616662698">"اسم المستخدِم للمصادقة"</string>
-    <string name="auth_username_summary" msgid="6346313945275377230">"اسم المستخدِم المستخدَم للمصادقة"</string>
-    <string name="default_preference_summary_username" msgid="8788114717555599222">"‏&lt;لم يتم الضبط&gt;"</string>
-    <string name="default_preference_summary_password" msgid="3695366978153175549">"‏&lt;لم يتم الضبط&gt;"</string>
-    <string name="default_preference_summary_domain_address" msgid="443247296785732364">"‏&lt;لم يتم الضبط&gt;"</string>
-    <string name="display_name_summary" msgid="6749135030093260358">"‏&lt;مثل اسم المستخدم&gt;"</string>
-    <string name="optional_summary" msgid="620379377865437488">"‏&lt;اختياري&gt;"</string>
-    <string name="advanced_settings_show" msgid="2318728080037568529">"▷ المس لإظهار الكل"</string>
-    <string name="advanced_settings_hide" msgid="6200816937370652083">"▽ المس لإخفاء الكل"</string>
-    <string name="all_empty_alert" msgid="6085603517610199098">"‏أدخل تفاصيل حساب SIP الجديد."</string>
-    <string name="empty_alert" msgid="3693655518612836718">"<xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> مطلوب ولا يمكن تركه فارغًا."</string>
-    <string name="not_a_valid_port" msgid="3664668836663491376">"يجب أن يكون رقم المنفذ ما بين 1000 و65534."</string>
-    <string name="no_internet_available" msgid="161720645084325479">"‏لإجراء اتصال SIP، تحقق من الاتصال بالإنترنت أولاً."</string>
-    <string name="no_wifi_available" msgid="1179092018692306312">"‏يجب عليك الاتصال بشبكة Wi-Fi لإجراء اتصالات SIP (استخدم إعدادات \"الشبكة واللاسلكي\")."</string>
-    <string name="no_voip" msgid="3366395789297981738">"‏اتصالات SIP غير متاحة"</string>
-    <string name="sip_system_decide" msgid="197230378376326430">"تلقائي"</string>
-    <string name="sip_always_send_keepalive" msgid="4986533673960084769">"الإرسال دائمًا"</string>
-    <string name="sip_connection_service_label" msgid="8796284274240316006">"‏اتصالات SIP مدمجة"</string>
-</resources>
diff --git a/sip/res/values-as/strings.xml b/sip/res/values-as/strings.xml
deleted file mode 100644
index 13043e3..0000000
--- a/sip/res/values-as/strings.xml
+++ /dev/null
@@ -1,80 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2014 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7452587325305604702">"SIP ছেটিংসমূহ"</string>
-    <string name="sip_accounts" msgid="7297896885665783239">"SIP একাউণ্টসমূহ"</string>
-    <string name="sip_accounts_title" msgid="3061686404598143943">"একাউণ্টসমূহ"</string>
-    <string name="sip_receive_calls" msgid="3403644006618369349">"অন্তৰ্গামী কল লাভ কৰি থকা হৈছে"</string>
-    <string name="sip_receive_calls_summary" msgid="5306603671778761443">"বেটাৰী অধিক ব্যৱহাৰ কৰে"</string>
-    <string name="sip_call_options_title" msgid="5027066677561068192">"SIP কলিং ব্যৱহাৰ কৰক"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6663105297927456484">"SIP কলিং ব্যৱহাৰ কৰক (কেৱল ৱাই-ফাই)"</string>
-    <string name="sip_call_options_entry_1" msgid="4722647332760934261">"ডেটা নেটৱৰ্ক উপলব্ধ থাকোঁতে সকলো কলৰ বাবে"</string>
-    <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="sip_account_list" msgid="2596262496233721769">"SIP একাউণ্টসমূহ"</string>
-    <string name="saving_account" msgid="3390358043846687266">"একাউণ্টটো ছেভ কৰা হৈছে…"</string>
-    <string name="removing_account" msgid="1544132880414780408">"একাউণ্টটো আঁতৰোৱা হৈছে…"</string>
-    <string name="sip_menu_save" msgid="4377112554203123060">"ছেভ কৰক"</string>
-    <string name="sip_menu_discard" msgid="1883166691772895243">"অগ্ৰাহ্য কৰক"</string>
-    <string name="alert_dialog_close" msgid="1734746505531110706">"প্ৰ\'ফাইলটো বন্ধ কৰক"</string>
-    <string name="alert_dialog_ok" msgid="7806760618798687406">"ঠিক"</string>
-    <string name="close_profile" msgid="3756064641769751774">"বন্ধ কৰক"</string>
-    <string name="registration_status_checking_status" msgid="884179594507591180">"স্থিতি পৰীক্ষা কৰি থকা হৈছে…"</string>
-    <string name="registration_status_registering" msgid="7986331597809521791">"পঞ্জীয়ন কৰি থকা হৈছে…"</string>
-    <string name="registration_status_still_trying" msgid="7178623685868766282">"এতিয়াও চেষ্টা কৰি থকা হৈছে…"</string>
-    <string name="registration_status_not_receiving" msgid="3873074208531938401">"কল লাভ কৰি থকা নাই।"</string>
-    <string name="registration_status_no_data" msgid="2987064560116584121">"ইণ্টাৰনেট সংযোগ নথকাৰ বাবে একাউণ্টৰ পঞ্জীয়ন বন্ধ কৰা হ’ল।"</string>
-    <string name="registration_status_no_wifi_data" msgid="685470618241482948">"ৱাই-ফাই সংযোগ নথকাৰ বাবে একাউণ্টৰ পঞ্জীয়ন বন্ধ কৰা হ’ল।"</string>
-    <string name="registration_status_not_running" msgid="6236403137652262659">"একাউণ্টৰ পঞ্জীয়ন বিফল হৈছে।"</string>
-    <string name="registration_status_done" msgid="6787397199273357721">"কল লাভ কৰি থকা হৈছে…"</string>
-    <string name="registration_status_failed_try_later" msgid="7855389184910312091">"একাউণ্টৰ পঞ্জীয়ন বিফল হৈছে: (<xliff:g id="REGISTRATION_ERROR_MESSAGE">%s</xliff:g>); পিছত আকৌ চেষ্টা কৰা হ\'ব"</string>
-    <string name="registration_status_invalid_credentials" msgid="8896714049938660777">"একাউণ্টৰ পঞ্জীয়ন বিফল হৈছে: ব্যৱহাৰকাৰী নাম ভুল বা পাছৱৰ্ড ভুল"</string>
-    <string name="registration_status_server_unreachable" msgid="3832339558868965604">"একাউণ্টৰ পঞ্জীয়ন বিফল হৈছে: ছাৰ্ভাৰৰ নামটো পৰীক্ষা কৰক।"</string>
-    <string name="third_party_account_summary" msgid="5918779106950859167">"এই একাউণ্টটো বৰ্তমান <xliff:g id="ACCOUNT_OWNER">%s</xliff:g> এপটোৱে ব্যৱহাৰ কৰি আছে।"</string>
-    <string name="sip_edit_title" msgid="7438891546610820307">"SIP একাউণ্টৰ সবিশেষ"</string>
-    <string name="sip_edit_new_title" msgid="8394790068979636381">"SIP একাউণ্টৰ সবিশেষ"</string>
-    <string name="domain_address_title" msgid="8238078615181248579">"ছাৰ্ভাৰ"</string>
-    <string name="username_title" msgid="298416796886107970">"ব্যৱহাৰকাৰীৰ নাম"</string>
-    <string name="password_title" msgid="8035579335591959021">"পাছৱৰ্ড"</string>
-    <string name="display_name_title" msgid="3730105783656830160">"ডিছপ্লেৰ নাম"</string>
-    <string name="proxy_address_title" msgid="4120361943254795287">"বহিৰ্গামী প্ৰ\'ক্সি ঠিকনা"</string>
-    <string name="port_title" msgid="1703586046264385110">"প\'ৰ্ট নম্বৰ"</string>
-    <string name="transport_title" msgid="1661659138226029178">"ট্ৰান্সপ\'ৰ্টৰ প্ৰকাৰ"</string>
-    <string name="send_keepalive_title" msgid="5319788151608946049">"কীপ-এলাইভ প্ৰেৰণ কৰক"</string>
-    <string name="advanced_settings" msgid="2704644977548662872">"ঐচ্ছিক ছেটিংসমূহ"</string>
-    <string name="auth_username_title" msgid="9002505242616662698">"বিশ্বাসযোগ্যতা প্ৰমাণীকৰণ ব্যৱহাৰকাৰীৰ নাম"</string>
-    <string name="auth_username_summary" msgid="6346313945275377230">"বিশ্বাসযোগ্যতা প্ৰমাণীকৰণৰ বাবে ব্যৱহৃত ব্যৱহাৰকাৰীৰ নাম"</string>
-    <string name="default_preference_summary_username" msgid="8788114717555599222">"&lt;ছেট কৰা হোৱা নাই&gt;"</string>
-    <string name="default_preference_summary_password" msgid="3695366978153175549">"&lt;ছেট কৰা হোৱা নাই&gt;"</string>
-    <string name="default_preference_summary_domain_address" msgid="443247296785732364">"&lt;ছেট কৰা হোৱা নাই&gt;"</string>
-    <string name="display_name_summary" msgid="6749135030093260358">"&lt;ব্যৱহাৰকাৰীৰ নামৰ সৈতে একেই&gt;"</string>
-    <string name="optional_summary" msgid="620379377865437488">"&lt;ঐচ্ছিক&gt;"</string>
-    <string name="advanced_settings_show" msgid="2318728080037568529">"▷ সকলো দেখুওৱাবলৈ স্পৰ্শ কৰক"</string>
-    <string name="advanced_settings_hide" msgid="6200816937370652083">"▽ সকলো লুকুৱাবলৈ স্পৰ্শ কৰক"</string>
-    <string name="all_empty_alert" msgid="6085603517610199098">"নতুন SIP একাউণ্টৰ সবিশেষ লিখক।"</string>
-    <string name="empty_alert" msgid="3693655518612836718">"<xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> দৰকাৰী আৰু ইয়াক খালীকৈ এৰি যাব নোৱাৰি।"</string>
-    <string name="not_a_valid_port" msgid="3664668836663491376">"প\'ৰ্ট নম্বৰটো 1000 আৰু 65534ৰ ভিতৰত হ\'ব লাগিব।"</string>
-    <string name="no_internet_available" msgid="161720645084325479">"SIP কল কৰিবলৈ প্ৰথমে আপোনাৰ ইণ্টাৰনেট সংযোগ পৰীক্ষা কৰক।"</string>
-    <string name="no_wifi_available" msgid="1179092018692306312">"আপুনি SIP কল কৰিবলৈ কোনো ৱাই-ফাই নেটৱৰ্কৰ সৈতে সংযুক্ত হৈ থাকিব লাগিব (বেতাঁৰ আৰু নেটৱৰ্ক ছেটিংসমূহ ব্যৱহাৰ কৰক)।"</string>
-    <string name="no_voip" msgid="3366395789297981738">"SIP কলিং কৰাৰ সুবিধা নাই"</string>
-    <string name="sip_system_decide" msgid="197230378376326430">"স্বয়ংক্ৰিয়"</string>
-    <string name="sip_always_send_keepalive" msgid="4986533673960084769">"সদায় প্ৰেৰণ কৰক"</string>
-    <string name="sip_connection_service_label" msgid="8796284274240316006">"বিল্ট-ইন SIP কলিং"</string>
-</resources>
diff --git a/sip/res/values-az/strings.xml b/sip/res/values-az/strings.xml
deleted file mode 100644
index f64ed85..0000000
--- a/sip/res/values-az/strings.xml
+++ /dev/null
@@ -1,80 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2014 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7452587325305604702">"SIP ayarları"</string>
-    <string name="sip_accounts" msgid="7297896885665783239">"SIP hesabları"</string>
-    <string name="sip_accounts_title" msgid="3061686404598143943">"Hesablar"</string>
-    <string name="sip_receive_calls" msgid="3403644006618369349">"Daxil olan zəngləri qəbul et"</string>
-    <string name="sip_receive_calls_summary" msgid="5306603671778761443">"Daha çox batareya işlədəcək"</string>
-    <string name="sip_call_options_title" msgid="5027066677561068192">"SIP zəngindən istifadə et"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6663105297927456484">"SIP zəngindən istifadə et (yalnız Wi-Fi)"</string>
-    <string name="sip_call_options_entry_1" msgid="4722647332760934261">"Data şəbəkəsi əlçatımlı olanda bütün şəbəkələr üçün"</string>
-    <string name="sip_call_options_entry_2" msgid="7338504256051655013">"Yalnız SIP zəngləri üçün"</string>
-    <string name="sip_call_options_wifi_only_entry_1" msgid="922329055414010991">"Bütün zənglər üçün"</string>
-    <string name="add_sip_account" msgid="5754758646745144384">"Hesab əlavə et"</string>
-    <string name="remove_sip_account" msgid="8272617403399636513">"Hesabı silin"</string>
-    <string name="sip_account_list" msgid="2596262496233721769">"SIP hesabları"</string>
-    <string name="saving_account" msgid="3390358043846687266">"Hesab yadda saxlanılır..."</string>
-    <string name="removing_account" msgid="1544132880414780408">"Hesab silinir..."</string>
-    <string name="sip_menu_save" msgid="4377112554203123060">"Yadda saxlayın"</string>
-    <string name="sip_menu_discard" msgid="1883166691772895243">"İmtina edin"</string>
-    <string name="alert_dialog_close" msgid="1734746505531110706">"Profili bağlayın"</string>
-    <string name="alert_dialog_ok" msgid="7806760618798687406">"Ok"</string>
-    <string name="close_profile" msgid="3756064641769751774">"Bağla"</string>
-    <string name="registration_status_checking_status" msgid="884179594507591180">"Status yoxlanılır ..."</string>
-    <string name="registration_status_registering" msgid="7986331597809521791">"Qeydiyyatdan keçirilir..."</string>
-    <string name="registration_status_still_trying" msgid="7178623685868766282">"Hələ də cəhd edilir..."</string>
-    <string name="registration_status_not_receiving" msgid="3873074208531938401">"Zəngləri qəbul etmir."</string>
-    <string name="registration_status_no_data" msgid="2987064560116584121">"İnternet bağlantısı olmadığı üçün hesab qeydiyyatı dayandırıldı."</string>
-    <string name="registration_status_no_wifi_data" msgid="685470618241482948">"Wi-Fi bağlantısı olmadığı üçün hesab qeydiyyatı dayandırıldı."</string>
-    <string name="registration_status_not_running" msgid="6236403137652262659">"Hesab qeydiyyatı uğursuz oldu."</string>
-    <string name="registration_status_done" msgid="6787397199273357721">"Zəng qəbul olunur."</string>
-    <string name="registration_status_failed_try_later" msgid="7855389184910312091">"Hesab qeydiyyatı uğursuz oldu: (<xliff:g id="REGISTRATION_ERROR_MESSAGE">%s</xliff:g>); sonra cəhd olunacaq"</string>
-    <string name="registration_status_invalid_credentials" msgid="8896714049938660777">"Hesab qeydiyyatı alınmadı: yanlış istifadə adı və ya parol"</string>
-    <string name="registration_status_server_unreachable" msgid="3832339558868965604">"Hesab qeydiyyatı uğursuz oldu: Server adını yoxlayın."</string>
-    <string name="third_party_account_summary" msgid="5918779106950859167">"Bu hesab hazırda <xliff:g id="ACCOUNT_OWNER">%s</xliff:g> tətbiqi tərəfindən istifadə olunur."</string>
-    <string name="sip_edit_title" msgid="7438891546610820307">"SIP hesab detalları"</string>
-    <string name="sip_edit_new_title" msgid="8394790068979636381">"SIP hesab detalları"</string>
-    <string name="domain_address_title" msgid="8238078615181248579">"Server"</string>
-    <string name="username_title" msgid="298416796886107970">"İstifadəçi adı"</string>
-    <string name="password_title" msgid="8035579335591959021">"Şifrə"</string>
-    <string name="display_name_title" msgid="3730105783656830160">"Ad göstərin"</string>
-    <string name="proxy_address_title" msgid="4120361943254795287">"Gedən proksi ünvan"</string>
-    <string name="port_title" msgid="1703586046264385110">"Port nömrəsi"</string>
-    <string name="transport_title" msgid="1661659138226029178">"Nəqliyyat növü"</string>
-    <string name="send_keepalive_title" msgid="5319788151608946049">"Daima canlı göndərin"</string>
-    <string name="advanced_settings" msgid="2704644977548662872">"Əlavə seçimlər"</string>
-    <string name="auth_username_title" msgid="9002505242616662698">"Autentifikasiya istifadəçi adı"</string>
-    <string name="auth_username_summary" msgid="6346313945275377230">"Autentifikasiya üçün istifadə edilən istifadəçi adı"</string>
-    <string name="default_preference_summary_username" msgid="8788114717555599222">"&lt;Təyin edilməyib&gt;"</string>
-    <string name="default_preference_summary_password" msgid="3695366978153175549">"&lt;Təyin edilməyib&gt;"</string>
-    <string name="default_preference_summary_domain_address" msgid="443247296785732364">"&lt;Təyin edilməyib&gt;"</string>
-    <string name="display_name_summary" msgid="6749135030093260358">"&lt;İstifadəçi adı ilə eyni&gt;"</string>
-    <string name="optional_summary" msgid="620379377865437488">"&lt;İstəyə görə&gt;"</string>
-    <string name="advanced_settings_show" msgid="2318728080037568529">"Hamısını göstərmək üçün toxunun ▷"</string>
-    <string name="advanced_settings_hide" msgid="6200816937370652083">"Hamısını gizlətmək üçün toxunun ▽"</string>
-    <string name="all_empty_alert" msgid="6085603517610199098">"Yeni SIP hesabından detalları daxil edin."</string>
-    <string name="empty_alert" msgid="3693655518612836718">"<xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> tələb olunur və boş buraxıla bilməz."</string>
-    <string name="not_a_valid_port" msgid="3664668836663491376">"Port 1000 və 65534 arasında olmalıdır."</string>
-    <string name="no_internet_available" msgid="161720645084325479">"SIP zəngini yerləşdirmək üçün əvvəlcə İnternet bağlantınızı yoxlayın."</string>
-    <string name="no_wifi_available" msgid="1179092018692306312">"SIP zəngləri üçün siz Wi-Fi şəbəkəsinə qoşulu olmalısınız (Simsiz &amp; Şəbəkə parametrlərindən istifadə edin)."</string>
-    <string name="no_voip" msgid="3366395789297981738">"SIP zəngi dəstəklənmir"</string>
-    <string name="sip_system_decide" msgid="197230378376326430">"Avtomatik"</string>
-    <string name="sip_always_send_keepalive" msgid="4986533673960084769">"Həmişə göndərin"</string>
-    <string name="sip_connection_service_label" msgid="8796284274240316006">"Daxili SIP zəngi"</string>
-</resources>
diff --git a/sip/res/values-b+sr+Latn/strings.xml b/sip/res/values-b+sr+Latn/strings.xml
deleted file mode 100644
index adb537b..0000000
--- a/sip/res/values-b+sr+Latn/strings.xml
+++ /dev/null
@@ -1,80 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2014 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7452587325305604702">"Podešavanja SIP-a"</string>
-    <string name="sip_accounts" msgid="7297896885665783239">"SIP nalozi"</string>
-    <string name="sip_accounts_title" msgid="3061686404598143943">"Nalozi"</string>
-    <string name="sip_receive_calls" msgid="3403644006618369349">"Primaj dolazne pozive"</string>
-    <string name="sip_receive_calls_summary" msgid="5306603671778761443">"Više troši bateriju"</string>
-    <string name="sip_call_options_title" msgid="5027066677561068192">"Koristite SIP pozivanje"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6663105297927456484">"Koristite SIP pozivanje (samo za WiFi)"</string>
-    <string name="sip_call_options_entry_1" msgid="4722647332760934261">"Za sve pozive kada je mreža za prenos podataka dostupna"</string>
-    <string name="sip_call_options_entry_2" msgid="7338504256051655013">"Samo za SIP pozive"</string>
-    <string name="sip_call_options_wifi_only_entry_1" msgid="922329055414010991">"Za sve pozive"</string>
-    <string name="add_sip_account" msgid="5754758646745144384">"Dodaj nalog"</string>
-    <string name="remove_sip_account" msgid="8272617403399636513">"Ukloni nalog"</string>
-    <string name="sip_account_list" msgid="2596262496233721769">"SIP nalozi"</string>
-    <string name="saving_account" msgid="3390358043846687266">"Čuvanje naloga..."</string>
-    <string name="removing_account" msgid="1544132880414780408">"Uklanjanje naloga..."</string>
-    <string name="sip_menu_save" msgid="4377112554203123060">"Sačuvaj"</string>
-    <string name="sip_menu_discard" msgid="1883166691772895243">"Odbaci"</string>
-    <string name="alert_dialog_close" msgid="1734746505531110706">"Zatvorite profil"</string>
-    <string name="alert_dialog_ok" msgid="7806760618798687406">"Potvrdi"</string>
-    <string name="close_profile" msgid="3756064641769751774">"Zatvori"</string>
-    <string name="registration_status_checking_status" msgid="884179594507591180">"Provera statusa..."</string>
-    <string name="registration_status_registering" msgid="7986331597809521791">"Registrovanje..."</string>
-    <string name="registration_status_still_trying" msgid="7178623685868766282">"I dalje pokušava..."</string>
-    <string name="registration_status_not_receiving" msgid="3873074208531938401">"Ne primamo pozive."</string>
-    <string name="registration_status_no_data" msgid="2987064560116584121">"Registracija naloga je zaustavljena zato što ne postoji internet veza."</string>
-    <string name="registration_status_no_wifi_data" msgid="685470618241482948">"Registracija naloga je zaustavljena zato što ne postoji WiFi veza."</string>
-    <string name="registration_status_not_running" msgid="6236403137652262659">"Registracija naloga nije uspela."</string>
-    <string name="registration_status_done" msgid="6787397199273357721">"Primamo pozive."</string>
-    <string name="registration_status_failed_try_later" msgid="7855389184910312091">"Registracija naloga nije uspela: <xliff:g id="REGISTRATION_ERROR_MESSAGE">%s</xliff:g>; pokušaćemo kasnije"</string>
-    <string name="registration_status_invalid_credentials" msgid="8896714049938660777">"Registracija naloga nije uspela: netačno korisničko ime ili lozinka."</string>
-    <string name="registration_status_server_unreachable" msgid="3832339558868965604">"Registracija naloga nije uspela: Proverite naziv servera."</string>
-    <string name="third_party_account_summary" msgid="5918779106950859167">"Ovaj nalog trenutno koristi aplikacija <xliff:g id="ACCOUNT_OWNER">%s</xliff:g>."</string>
-    <string name="sip_edit_title" msgid="7438891546610820307">"Detalji o SIP nalogu"</string>
-    <string name="sip_edit_new_title" msgid="8394790068979636381">"Detalji o SIP nalogu"</string>
-    <string name="domain_address_title" msgid="8238078615181248579">"Server"</string>
-    <string name="username_title" msgid="298416796886107970">"Korisničko ime"</string>
-    <string name="password_title" msgid="8035579335591959021">"Lozinka"</string>
-    <string name="display_name_title" msgid="3730105783656830160">"Ime za prikaz"</string>
-    <string name="proxy_address_title" msgid="4120361943254795287">"Odlazna adresa proksija"</string>
-    <string name="port_title" msgid="1703586046264385110">"Broj porta"</string>
-    <string name="transport_title" msgid="1661659138226029178">"Tip prenosa"</string>
-    <string name="send_keepalive_title" msgid="5319788151608946049">"Održavanje veze porukama"</string>
-    <string name="advanced_settings" msgid="2704644977548662872">"Opcionalna podešavanja"</string>
-    <string name="auth_username_title" msgid="9002505242616662698">"Korisničko ime za potvrdu identiteta"</string>
-    <string name="auth_username_summary" msgid="6346313945275377230">"Za potvrdu identiteta koristi se korisničko ime"</string>
-    <string name="default_preference_summary_username" msgid="8788114717555599222">"&lt;Nije podešeno&gt;"</string>
-    <string name="default_preference_summary_password" msgid="3695366978153175549">"&lt;Nije podešeno&gt;"</string>
-    <string name="default_preference_summary_domain_address" msgid="443247296785732364">"&lt;Nije podešeno&gt;"</string>
-    <string name="display_name_summary" msgid="6749135030093260358">"&lt;Isto kao korisničko ime&gt;"</string>
-    <string name="optional_summary" msgid="620379377865437488">"&lt;Opcionalno&gt;"</string>
-    <string name="advanced_settings_show" msgid="2318728080037568529">"▷ Dodirnite da biste prikazali sve"</string>
-    <string name="advanced_settings_hide" msgid="6200816937370652083">"▽ Dodirnite da biste sakrili sve"</string>
-    <string name="all_empty_alert" msgid="6085603517610199098">"Unesite detalje o novom SIP nalogu."</string>
-    <string name="empty_alert" msgid="3693655518612836718">"Polje <xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> je obavezno i ne može da bude prazno."</string>
-    <string name="not_a_valid_port" msgid="3664668836663491376">"Broj porta bi trebalo da bude između 1000 i 65.534."</string>
-    <string name="no_internet_available" msgid="161720645084325479">"Da biste uputili SIP poziv, prvo proverite internet vezu."</string>
-    <string name="no_wifi_available" msgid="1179092018692306312">"Treba da budete povezani sa WiFi mrežom da biste upućivali SIP pozive (koristite Podešavanja bežičnih veza i mreža)."</string>
-    <string name="no_voip" msgid="3366395789297981738">"SIP pozivanje nije podržano"</string>
-    <string name="sip_system_decide" msgid="197230378376326430">"Automatski"</string>
-    <string name="sip_always_send_keepalive" msgid="4986533673960084769">"Uvek šalji"</string>
-    <string name="sip_connection_service_label" msgid="8796284274240316006">"Ugrađena funkcija SIP pozivanja"</string>
-</resources>
diff --git a/sip/res/values-be/strings.xml b/sip/res/values-be/strings.xml
deleted file mode 100644
index f39a3f1..0000000
--- a/sip/res/values-be/strings.xml
+++ /dev/null
@@ -1,80 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2014 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7452587325305604702">"Налады SIP"</string>
-    <string name="sip_accounts" msgid="7297896885665783239">"Уліковыя запісы SIP"</string>
-    <string name="sip_accounts_title" msgid="3061686404598143943">"Уліковыя запісы"</string>
-    <string name="sip_receive_calls" msgid="3403644006618369349">"Прымаць уваходныя выклікі"</string>
-    <string name="sip_receive_calls_summary" msgid="5306603671778761443">"Спажывае больш зараду акумулятара"</string>
-    <string name="sip_call_options_title" msgid="5027066677561068192">"Выкарыстоўваць SIP-тэлефанію"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6663105297927456484">"Выкарыстоўваць SIP-тэлефанію (толькі Wi-Fi)"</string>
-    <string name="sip_call_options_entry_1" msgid="4722647332760934261">"Для ўсіх выклікаў, калі ёсць падлучэнне да сеткі перадачы даных"</string>
-    <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="sip_account_list" msgid="2596262496233721769">"Уліковыя запісы SIP"</string>
-    <string name="saving_account" msgid="3390358043846687266">"Захаванне ўліковага запісу..."</string>
-    <string name="removing_account" msgid="1544132880414780408">"Выдаленне ўліковага запісу..."</string>
-    <string name="sip_menu_save" msgid="4377112554203123060">"Захаваць"</string>
-    <string name="sip_menu_discard" msgid="1883166691772895243">"Скасаваць"</string>
-    <string name="alert_dialog_close" msgid="1734746505531110706">"Закрыць профіль"</string>
-    <string name="alert_dialog_ok" msgid="7806760618798687406">"OK"</string>
-    <string name="close_profile" msgid="3756064641769751774">"Закрыць"</string>
-    <string name="registration_status_checking_status" msgid="884179594507591180">"Праверка стану..."</string>
-    <string name="registration_status_registering" msgid="7986331597809521791">"Рэгістрацыя..."</string>
-    <string name="registration_status_still_trying" msgid="7178623685868766282">"Спробы працягваюцца..."</string>
-    <string name="registration_status_not_receiving" msgid="3873074208531938401">"Выклікі не прымаюцца."</string>
-    <string name="registration_status_no_data" msgid="2987064560116584121">"Рэгістрацыя ўліковага запісу спынена, таму што няма падлучэння да інтэрнэту."</string>
-    <string name="registration_status_no_wifi_data" msgid="685470618241482948">"Рэгістрацыя ўліковага запісу спынена, таму што няма падлучэння да Wi-Fi."</string>
-    <string name="registration_status_not_running" msgid="6236403137652262659">"Няўдалая рэгістрацыя ўліковага запісу."</string>
-    <string name="registration_status_done" msgid="6787397199273357721">"Прыём выклікаў."</string>
-    <string name="registration_status_failed_try_later" msgid="7855389184910312091">"Няўдалая рэгістрацыя ўліковага запісу: (<xliff:g id="REGISTRATION_ERROR_MESSAGE">%s</xliff:g>); спроба будзе паўторана пазней"</string>
-    <string name="registration_status_invalid_credentials" msgid="8896714049938660777">"Няўдалая рэгістрацыя ўліковага запісу: няправільнае імя карыстальніка або пароль."</string>
-    <string name="registration_status_server_unreachable" msgid="3832339558868965604">"Няўдалая рэгістрацыя ўліковага запісу: праверце імя сервера."</string>
-    <string name="third_party_account_summary" msgid="5918779106950859167">"Гэты ўліковы запіс зараз выкарыстоўваецца праграмай <xliff:g id="ACCOUNT_OWNER">%s</xliff:g>."</string>
-    <string name="sip_edit_title" msgid="7438891546610820307">"Ул. запіс SIP"</string>
-    <string name="sip_edit_new_title" msgid="8394790068979636381">"Ул. запіс SIP"</string>
-    <string name="domain_address_title" msgid="8238078615181248579">"Сервер"</string>
-    <string name="username_title" msgid="298416796886107970">"Імя карыстальніка"</string>
-    <string name="password_title" msgid="8035579335591959021">"Пароль"</string>
-    <string name="display_name_title" msgid="3730105783656830160">"Бачнае імя"</string>
-    <string name="proxy_address_title" msgid="4120361943254795287">"Адрас выходнага проксі-сервера"</string>
-    <string name="port_title" msgid="1703586046264385110">"Нумар порта"</string>
-    <string name="transport_title" msgid="1661659138226029178">"Пратакол"</string>
-    <string name="send_keepalive_title" msgid="5319788151608946049">"Адправіць паведамленне праверкі актыўнасці"</string>
-    <string name="advanced_settings" msgid="2704644977548662872">"Дадатковыя налады"</string>
-    <string name="auth_username_title" msgid="9002505242616662698">"Імя карыстальніка для праверкі сапраўднасці"</string>
-    <string name="auth_username_summary" msgid="6346313945275377230">"Імя карыстальніка, якое выкарыстоўваецца для праверкі сапраўднасці"</string>
-    <string name="default_preference_summary_username" msgid="8788114717555599222">"&lt;Не зададзены&gt;"</string>
-    <string name="default_preference_summary_password" msgid="3695366978153175549">"&lt;Не зададзены&gt;"</string>
-    <string name="default_preference_summary_domain_address" msgid="443247296785732364">"&lt;Не зададзены&gt;"</string>
-    <string name="display_name_summary" msgid="6749135030093260358">"&lt;Такі ж, як імя карыстальніка&gt;"</string>
-    <string name="optional_summary" msgid="620379377865437488">"&lt;Неабавязкова&gt;"</string>
-    <string name="advanced_settings_show" msgid="2318728080037568529">"▷ Дакраніцеся, каб паказаць усё"</string>
-    <string name="advanced_settings_hide" msgid="6200816937370652083">"▽ Дакраніцеся, каб схаваць усё"</string>
-    <string name="all_empty_alert" msgid="6085603517610199098">"Увесці інфармацыю аб новым уліковым запісе SIP."</string>
-    <string name="empty_alert" msgid="3693655518612836718">"Поле <xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> з\'яўляецца абавязковым для запаўнення, яго нельга пакідаць пустым."</string>
-    <string name="not_a_valid_port" msgid="3664668836663491376">"Порт павінен мець нумар ад 1000 да 65534."</string>
-    <string name="no_internet_available" msgid="161720645084325479">"Каб зрабіць SIP-выклік, спачатку праверце інтэрнэт-злучэнне."</string>
-    <string name="no_wifi_available" msgid="1179092018692306312">"Каб рабіць SIP-выклікі, вы павінны падлучыцца да сеткі Wi-Fi (скарыстайцеся раздзелам \"Бесправадная сувязь і сеткі\")."</string>
-    <string name="no_voip" msgid="3366395789297981738">"SIP-тэлефанія не падтрымліваецца"</string>
-    <string name="sip_system_decide" msgid="197230378376326430">"Аўтаматычна"</string>
-    <string name="sip_always_send_keepalive" msgid="4986533673960084769">"Заўсёды адпраўляць"</string>
-    <string name="sip_connection_service_label" msgid="8796284274240316006">"Убудаваная SIP-тэлефанія"</string>
-</resources>
diff --git a/sip/res/values-bg/strings.xml b/sip/res/values-bg/strings.xml
deleted file mode 100644
index 27694be..0000000
--- a/sip/res/values-bg/strings.xml
+++ /dev/null
@@ -1,80 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2014 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7452587325305604702">"Настройки за SIP"</string>
-    <string name="sip_accounts" msgid="7297896885665783239">"Профили за SIP"</string>
-    <string name="sip_accounts_title" msgid="3061686404598143943">"Профили"</string>
-    <string name="sip_receive_calls" msgid="3403644006618369349">"Получаване на входящи обаждания"</string>
-    <string name="sip_receive_calls_summary" msgid="5306603671778761443">"Изразходва повече от батерията"</string>
-    <string name="sip_call_options_title" msgid="5027066677561068192">"Използване на обаждане през SIP"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6663105297927456484">"Използване на услуга за обаждане през SIP (само при Wi-Fi)"</string>
-    <string name="sip_call_options_entry_1" msgid="4722647332760934261">"За всички обаждания, когато е налице мрежа за данни"</string>
-    <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="sip_account_list" msgid="2596262496233721769">"Профили за SIP"</string>
-    <string name="saving_account" msgid="3390358043846687266">"Профилът се запазва…"</string>
-    <string name="removing_account" msgid="1544132880414780408">"Профилът се премахва…"</string>
-    <string name="sip_menu_save" msgid="4377112554203123060">"Запазване"</string>
-    <string name="sip_menu_discard" msgid="1883166691772895243">"Отхвърляне"</string>
-    <string name="alert_dialog_close" msgid="1734746505531110706">"Затваряне на потребителския профил"</string>
-    <string name="alert_dialog_ok" msgid="7806760618798687406">"ОK"</string>
-    <string name="close_profile" msgid="3756064641769751774">"Затваряне"</string>
-    <string name="registration_status_checking_status" msgid="884179594507591180">"Състоянието се проверява..."</string>
-    <string name="registration_status_registering" msgid="7986331597809521791">"Регистрира се…"</string>
-    <string name="registration_status_still_trying" msgid="7178623685868766282">"Опитите продължават…"</string>
-    <string name="registration_status_not_receiving" msgid="3873074208531938401">"Не се получават обаждания."</string>
-    <string name="registration_status_no_data" msgid="2987064560116584121">"Регистрирането на профила спря, защото няма връзка с интернет."</string>
-    <string name="registration_status_no_wifi_data" msgid="685470618241482948">"Регистрирането на профила спря, защото няма връзка с Wi-Fi."</string>
-    <string name="registration_status_not_running" msgid="6236403137652262659">"Профилът не бе регистриран успешно."</string>
-    <string name="registration_status_done" msgid="6787397199273357721">"Получават се обаждания."</string>
-    <string name="registration_status_failed_try_later" msgid="7855389184910312091">"Профилът не бе регистриран успешно: (<xliff:g id="REGISTRATION_ERROR_MESSAGE">%s</xliff:g>). Ще се извърши нов опит по-късно"</string>
-    <string name="registration_status_invalid_credentials" msgid="8896714049938660777">"Профилът не бе регистриран успешно: Неправилно потребителско име или парола."</string>
-    <string name="registration_status_server_unreachable" msgid="3832339558868965604">"Профилът не бе регистриран успешно: Проверете името на сървъра."</string>
-    <string name="third_party_account_summary" msgid="5918779106950859167">"Този профил понастоящем се използва от приложението <xliff:g id="ACCOUNT_OWNER">%s</xliff:g>."</string>
-    <string name="sip_edit_title" msgid="7438891546610820307">"Профил за SIP"</string>
-    <string name="sip_edit_new_title" msgid="8394790068979636381">"Подробности за профила за SIP"</string>
-    <string name="domain_address_title" msgid="8238078615181248579">"Сървър"</string>
-    <string name="username_title" msgid="298416796886107970">"Потребителско име"</string>
-    <string name="password_title" msgid="8035579335591959021">"Парола"</string>
-    <string name="display_name_title" msgid="3730105783656830160">"Екранно име"</string>
-    <string name="proxy_address_title" msgid="4120361943254795287">"Адрес на изходящ прокси сървър"</string>
-    <string name="port_title" msgid="1703586046264385110">"Номер на порта"</string>
-    <string name="transport_title" msgid="1661659138226029178">"Тип транспорт"</string>
-    <string name="send_keepalive_title" msgid="5319788151608946049">"Изпращане на съобщение за проверка на връзката"</string>
-    <string name="advanced_settings" msgid="2704644977548662872">"Незадължителни настройки"</string>
-    <string name="auth_username_title" msgid="9002505242616662698">"Потребит. име за удостоверяване"</string>
-    <string name="auth_username_summary" msgid="6346313945275377230">"Потребителско име, използвано за удостоверяване"</string>
-    <string name="default_preference_summary_username" msgid="8788114717555599222">"&lt;Не е зададено&gt;"</string>
-    <string name="default_preference_summary_password" msgid="3695366978153175549">"&lt;Не е зададено&gt;"</string>
-    <string name="default_preference_summary_domain_address" msgid="443247296785732364">"&lt;Не е зададено&gt;"</string>
-    <string name="display_name_summary" msgid="6749135030093260358">"&lt;Същото като потребителското име&gt;"</string>
-    <string name="optional_summary" msgid="620379377865437488">"&lt;По избор&gt;"</string>
-    <string name="advanced_settings_show" msgid="2318728080037568529">"▷ Докоснете за показване на всички"</string>
-    <string name="advanced_settings_hide" msgid="6200816937370652083">"▽ Докоснете за скриване на всички"</string>
-    <string name="all_empty_alert" msgid="6085603517610199098">"Въведете подробностите за новия профил за SIP."</string>
-    <string name="empty_alert" msgid="3693655518612836718">"Полето „<xliff:g id="INPUT_FIELD_NAME">%s</xliff:g>“ е задължително и трябва да се попълни."</string>
-    <string name="not_a_valid_port" msgid="3664668836663491376">"Номерът на порта трябва да е между 1000 и 65534."</string>
-    <string name="no_internet_available" msgid="161720645084325479">"За да осъществите обаждане през SIP, първо проверете връзката си с интернет."</string>
-    <string name="no_wifi_available" msgid="1179092018692306312">"За да се обаждате през SIP, трябва да сте свързани с Wi-Fi мрежа (използвайте настройките „Кабелни и безжични мрежи“)."</string>
-    <string name="no_voip" msgid="3366395789297981738">"Обажданията през SIP не се поддържат"</string>
-    <string name="sip_system_decide" msgid="197230378376326430">"Автоматично"</string>
-    <string name="sip_always_send_keepalive" msgid="4986533673960084769">"Изпращане винаги"</string>
-    <string name="sip_connection_service_label" msgid="8796284274240316006">"Вградена услуга за обаждане през SIP"</string>
-</resources>
diff --git a/sip/res/values-bn/strings.xml b/sip/res/values-bn/strings.xml
deleted file mode 100644
index 4fc7cb7..0000000
--- a/sip/res/values-bn/strings.xml
+++ /dev/null
@@ -1,80 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2014 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7452587325305604702">"SIP সেটিংস"</string>
-    <string name="sip_accounts" msgid="7297896885665783239">"SIP অ্যাকাউন্টগুলি"</string>
-    <string name="sip_accounts_title" msgid="3061686404598143943">"অ্যাকাউন্টগুলি"</string>
-    <string name="sip_receive_calls" msgid="3403644006618369349">"ইনকামিং কলগুলি রিসিভ করুন"</string>
-    <string name="sip_receive_calls_summary" msgid="5306603671778761443">"আরও বেশি ব্যাটারি ব্যবহার করে"</string>
-    <string name="sip_call_options_title" msgid="5027066677561068192">"SIP কলিং ব্যবহার করুন"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6663105297927456484">"SIP কলিং ব্যবহার করুন (শুধুমাত্র ওয়াই-ফাই)"</string>
-    <string name="sip_call_options_entry_1" msgid="4722647332760934261">"যখন ডেটা নেটওয়ার্ক উপলব্ধ তখন সব কলের জন্য"</string>
-    <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="sip_account_list" msgid="2596262496233721769">"SIP অ্যাকাউন্টগুলি"</string>
-    <string name="saving_account" msgid="3390358043846687266">"অ্যাকাউন্টটি সংরক্ষণ করা হচ্ছে ..."</string>
-    <string name="removing_account" msgid="1544132880414780408">"অ্যাকাউন্টটি সরানো হচ্ছে…"</string>
-    <string name="sip_menu_save" msgid="4377112554203123060">"সেভ করুন"</string>
-    <string name="sip_menu_discard" msgid="1883166691772895243">"খারিজ করুন"</string>
-    <string name="alert_dialog_close" msgid="1734746505531110706">"প্রোফাইলটি বন্ধ করুন"</string>
-    <string name="alert_dialog_ok" msgid="7806760618798687406">"ঠিক আছে"</string>
-    <string name="close_profile" msgid="3756064641769751774">"বন্ধ করুন"</string>
-    <string name="registration_status_checking_status" msgid="884179594507591180">"স্থিতি পরীক্ষা করা হচ্ছে ..."</string>
-    <string name="registration_status_registering" msgid="7986331597809521791">"নিবন্ধীকরণ চলছে..."</string>
-    <string name="registration_status_still_trying" msgid="7178623685868766282">"এখনও চেষ্টা করছে..."</string>
-    <string name="registration_status_not_receiving" msgid="3873074208531938401">"কলগুলি গ্রহণ করা হচ্ছে না৷"</string>
-    <string name="registration_status_no_data" msgid="2987064560116584121">"কোনো ইন্টারনেট সংযোগ না থাকায় অ্যাকাউন্ট নিবন্ধন করা বন্ধ হয়ে গেছে৷"</string>
-    <string name="registration_status_no_wifi_data" msgid="685470618241482948">"কোনো ওয়াই-ফাই সংযোগ না থাকায় অ্যাকাউন্ট নিবন্ধন করা বন্ধ হয়ে গেছে৷"</string>
-    <string name="registration_status_not_running" msgid="6236403137652262659">"অ্যাকাউন্টের নিবন্ধন অসফল হয়েছে৷"</string>
-    <string name="registration_status_done" msgid="6787397199273357721">"কলগুলি গ্রহণ করা হচ্ছে৷"</string>
-    <string name="registration_status_failed_try_later" msgid="7855389184910312091">"অ্যাকাউন্টের নিবন্ধন অসফল হয়েছে: (<xliff:g id="REGISTRATION_ERROR_MESSAGE">%s</xliff:g>); পরে আবার চেষ্টা করা হবে"</string>
-    <string name="registration_status_invalid_credentials" msgid="8896714049938660777">"অ্যাকাউন্টের নিবন্ধন অসফল হয়েছে: ভুল ইউজারনেম বা পাসওয়ার্ড৷"</string>
-    <string name="registration_status_server_unreachable" msgid="3832339558868965604">"অ্যাকাউন্টের নিবন্ধন অসফল হয়েছে: সার্ভারের নাম পরীক্ষা করুন৷"</string>
-    <string name="third_party_account_summary" msgid="5918779106950859167">"এই অ্যাকাউন্টটি বর্তমানে <xliff:g id="ACCOUNT_OWNER">%s</xliff:g> অ্যাপ্লিকেশানের দ্বারা ব্যবহৃত হচ্ছে৷"</string>
-    <string name="sip_edit_title" msgid="7438891546610820307">"SIP অ্যাকাউন্টের বিবরণ"</string>
-    <string name="sip_edit_new_title" msgid="8394790068979636381">"SIP অ্যাকাউন্টের বিবরণ"</string>
-    <string name="domain_address_title" msgid="8238078615181248579">"সার্ভার"</string>
-    <string name="username_title" msgid="298416796886107970">"ইউজারনেম"</string>
-    <string name="password_title" msgid="8035579335591959021">"পাসওয়ার্ড"</string>
-    <string name="display_name_title" msgid="3730105783656830160">"প্রদর্শন নাম"</string>
-    <string name="proxy_address_title" msgid="4120361943254795287">"আউটবাউন্ড প্রক্সি অ্যাড্রেস"</string>
-    <string name="port_title" msgid="1703586046264385110">"পোর্ট নম্বর"</string>
-    <string name="transport_title" msgid="1661659138226029178">"ট্রান্সপোর্ট টাইপ"</string>
-    <string name="send_keepalive_title" msgid="5319788151608946049">"সক্রিয়-রাখার অনুরোধ"</string>
-    <string name="advanced_settings" msgid="2704644977548662872">"ঐচ্ছিক সেটিংস"</string>
-    <string name="auth_username_title" msgid="9002505242616662698">"প্রমাণীকরণের ইউজারনেম"</string>
-    <string name="auth_username_summary" msgid="6346313945275377230">"প্রমাণীকরণের জন্য ব্যবহৃত ইউজারনেম"</string>
-    <string name="default_preference_summary_username" msgid="8788114717555599222">"&lt;সেট করা নেই&gt;"</string>
-    <string name="default_preference_summary_password" msgid="3695366978153175549">"&lt;সেট করা নেই&gt;"</string>
-    <string name="default_preference_summary_domain_address" msgid="443247296785732364">"&lt;সেট করা নেই&gt;"</string>
-    <string name="display_name_summary" msgid="6749135030093260358">"&lt;ইউজারনেমের অনুরূপ&gt;"</string>
-    <string name="optional_summary" msgid="620379377865437488">"&lt;ঐচ্ছিক&gt;"</string>
-    <string name="advanced_settings_show" msgid="2318728080037568529">"▷ সবকিছু দেখতে টাচ করুন"</string>
-    <string name="advanced_settings_hide" msgid="6200816937370652083">"▽ সবকিছু লুকানোর জন্য স্পর্শ করুন"</string>
-    <string name="all_empty_alert" msgid="6085603517610199098">"নতুন SIP অ্যাকাউন্ট সম্বন্ধে বিশদ বিবরণ লিখুন।"</string>
-    <string name="empty_alert" msgid="3693655518612836718">"<xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> প্রয়োজনীয় এবং এটিকে ফাঁকা রাখা যাবে না৷"</string>
-    <string name="not_a_valid_port" msgid="3664668836663491376">"পোর্ট নম্বরটিকে ১০০০ ও ৬৫৫৩৪ এর মধ্যে হতে হবে৷"</string>
-    <string name="no_internet_available" msgid="161720645084325479">"একটি SIP কল করতে প্রথমে আপনার ইন্টারনেট সংযোগ পরীক্ষা করুন৷"</string>
-    <string name="no_wifi_available" msgid="1179092018692306312">"SIP কলগুলি করার জন্য আপনাকে একটি ওয়াই-ফাই নেটওয়ার্কের সাথে সংযুক্ত হতে হবে (ওয়ারলেস নেটওয়ার্ক সেটিংস ব্যবহার করুন)৷"</string>
-    <string name="no_voip" msgid="3366395789297981738">"SIP কলিং সমর্থিত নয়"</string>
-    <string name="sip_system_decide" msgid="197230378376326430">"স্বয়ংক্রিয়"</string>
-    <string name="sip_always_send_keepalive" msgid="4986533673960084769">"সবসময় পাঠান"</string>
-    <string name="sip_connection_service_label" msgid="8796284274240316006">"অন্তর্নির্মিত SIP কলিং"</string>
-</resources>
diff --git a/sip/res/values-bs/strings.xml b/sip/res/values-bs/strings.xml
deleted file mode 100644
index 07bb5a7..0000000
--- a/sip/res/values-bs/strings.xml
+++ /dev/null
@@ -1,80 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2014 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7452587325305604702">"SIP postavke"</string>
-    <string name="sip_accounts" msgid="7297896885665783239">"SIP računi"</string>
-    <string name="sip_accounts_title" msgid="3061686404598143943">"Računi"</string>
-    <string name="sip_receive_calls" msgid="3403644006618369349">"Primi dolazne pozive"</string>
-    <string name="sip_receive_calls_summary" msgid="5306603671778761443">"Troši se više baterije"</string>
-    <string name="sip_call_options_title" msgid="5027066677561068192">"Koristi SIP pozivanje"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6663105297927456484">"Koristi SIP pozivanje (samo WiFi)"</string>
-    <string name="sip_call_options_entry_1" msgid="4722647332760934261">"Za sve pozive kada je podatkovna mreža dostupna"</string>
-    <string name="sip_call_options_entry_2" msgid="7338504256051655013">"Samo za SIP pozive"</string>
-    <string name="sip_call_options_wifi_only_entry_1" msgid="922329055414010991">"Za sve pozive"</string>
-    <string name="add_sip_account" msgid="5754758646745144384">"Dodaj račun"</string>
-    <string name="remove_sip_account" msgid="8272617403399636513">"Ukloni račun"</string>
-    <string name="sip_account_list" msgid="2596262496233721769">"SIP računi"</string>
-    <string name="saving_account" msgid="3390358043846687266">"Spremanje računa u toku…"</string>
-    <string name="removing_account" msgid="1544132880414780408">"Račun se uklanja…"</string>
-    <string name="sip_menu_save" msgid="4377112554203123060">"Sačuvaj"</string>
-    <string name="sip_menu_discard" msgid="1883166691772895243">"Odbaci"</string>
-    <string name="alert_dialog_close" msgid="1734746505531110706">"Zatvori profil"</string>
-    <string name="alert_dialog_ok" msgid="7806760618798687406">"Uredu"</string>
-    <string name="close_profile" msgid="3756064641769751774">"Zatvori"</string>
-    <string name="registration_status_checking_status" msgid="884179594507591180">"Provjera statusa u toku..."</string>
-    <string name="registration_status_registering" msgid="7986331597809521791">"Registriranje u toku…"</string>
-    <string name="registration_status_still_trying" msgid="7178623685868766282">"Još uvijek pokušavamo…"</string>
-    <string name="registration_status_not_receiving" msgid="3873074208531938401">"Ne prima pozive."</string>
-    <string name="registration_status_no_data" msgid="2987064560116584121">"Registracija računa je zaustavljena jer niste povezani na internet."</string>
-    <string name="registration_status_no_wifi_data" msgid="685470618241482948">"Registracija računa je zaustavljena jer nema WiFi veze."</string>
-    <string name="registration_status_not_running" msgid="6236403137652262659">"Registracija računa nije uspjela."</string>
-    <string name="registration_status_done" msgid="6787397199273357721">"Primanje poziva."</string>
-    <string name="registration_status_failed_try_later" msgid="7855389184910312091">"Registracija računa nije uspjela: (<xliff:g id="REGISTRATION_ERROR_MESSAGE">%s</xliff:g>); pokušat ćemo kasnije"</string>
-    <string name="registration_status_invalid_credentials" msgid="8896714049938660777">"Registracija računa nije uspjela: netačno korisničko ime ili lozinka."</string>
-    <string name="registration_status_server_unreachable" msgid="3832339558868965604">"Registracija računa nije uspjela: provjerite naziv servera."</string>
-    <string name="third_party_account_summary" msgid="5918779106950859167">"Ovaj račun trenutno koristi aplikacija <xliff:g id="ACCOUNT_OWNER">%s</xliff:g>."</string>
-    <string name="sip_edit_title" msgid="7438891546610820307">"Detalji o SIP računima"</string>
-    <string name="sip_edit_new_title" msgid="8394790068979636381">"Detalji o SIP računima"</string>
-    <string name="domain_address_title" msgid="8238078615181248579">"Server"</string>
-    <string name="username_title" msgid="298416796886107970">"Korisničko ime"</string>
-    <string name="password_title" msgid="8035579335591959021">"Lozinka"</string>
-    <string name="display_name_title" msgid="3730105783656830160">"Ime za prikaz"</string>
-    <string name="proxy_address_title" msgid="4120361943254795287">"Odlazna proksi adresa"</string>
-    <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">"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>
-    <string name="default_preference_summary_password" msgid="3695366978153175549">"&lt;Nije postavljeno&gt;"</string>
-    <string name="default_preference_summary_domain_address" msgid="443247296785732364">"&lt;Nije postavljeno&gt;"</string>
-    <string name="display_name_summary" msgid="6749135030093260358">"&lt;Isto kao korisničko ime&gt;"</string>
-    <string name="optional_summary" msgid="620379377865437488">"&lt;Nije obavezno&gt;"</string>
-    <string name="advanced_settings_show" msgid="2318728080037568529">"▷ Dodirnite da prikažete sve"</string>
-    <string name="advanced_settings_hide" msgid="6200816937370652083">"▽ Dodirnite da sakrijete sve"</string>
-    <string name="all_empty_alert" msgid="6085603517610199098">"Unesite detalje novog SIP računa."</string>
-    <string name="empty_alert" msgid="3693655518612836718">"<xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> je obavezno polje i ne može biti prazno."</string>
-    <string name="not_a_valid_port" msgid="3664668836663491376">"Broj priključka treba biti između 1000 i 65534."</string>
-    <string name="no_internet_available" msgid="161720645084325479">"Da uputite SIP poziv, prvo provjerite internet vezu."</string>
-    <string name="no_wifi_available" msgid="1179092018692306312">"Trebate biti povezani s WiFi mrežom za SIP pozive (koristite postavke Bežično povezivanje i mreža)."</string>
-    <string name="no_voip" msgid="3366395789297981738">"SIP pozivanje nije podržano"</string>
-    <string name="sip_system_decide" msgid="197230378376326430">"Automatski"</string>
-    <string name="sip_always_send_keepalive" msgid="4986533673960084769">"Uvijek pošalji"</string>
-    <string name="sip_connection_service_label" msgid="8796284274240316006">"Ugrađeno SIP pozivanje"</string>
-</resources>
diff --git a/sip/res/values-ca/strings.xml b/sip/res/values-ca/strings.xml
deleted file mode 100644
index 9777344..0000000
--- a/sip/res/values-ca/strings.xml
+++ /dev/null
@@ -1,80 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2014 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7452587325305604702">"Configuració de SIP"</string>
-    <string name="sip_accounts" msgid="7297896885665783239">"Comptes SIP"</string>
-    <string name="sip_accounts_title" msgid="3061686404598143943">"Comptes"</string>
-    <string name="sip_receive_calls" msgid="3403644006618369349">"Vull rebre trucades entrants"</string>
-    <string name="sip_receive_calls_summary" msgid="5306603671778761443">"Consumeix més bateria"</string>
-    <string name="sip_call_options_title" msgid="5027066677561068192">"Utilitza trucades SIP"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6663105297927456484">"Fes servir trucades SIP (només Wi-Fi)"</string>
-    <string name="sip_call_options_entry_1" msgid="4722647332760934261">"Per a totes les trucades quan hi hagi xarxes de dades disponibles"</string>
-    <string name="sip_call_options_entry_2" msgid="7338504256051655013">"Només per a trucades SIP"</string>
-    <string name="sip_call_options_wifi_only_entry_1" msgid="922329055414010991">"Per a totes les trucades"</string>
-    <string name="add_sip_account" msgid="5754758646745144384">"Afegeix un compte"</string>
-    <string name="remove_sip_account" msgid="8272617403399636513">"Suprimeix el compte"</string>
-    <string name="sip_account_list" msgid="2596262496233721769">"Comptes SIP"</string>
-    <string name="saving_account" msgid="3390358043846687266">"S\'està desant el compte..."</string>
-    <string name="removing_account" msgid="1544132880414780408">"S\'està suprimint el compte..."</string>
-    <string name="sip_menu_save" msgid="4377112554203123060">"Desa"</string>
-    <string name="sip_menu_discard" msgid="1883166691772895243">"Descarta"</string>
-    <string name="alert_dialog_close" msgid="1734746505531110706">"Tanca el perfil"</string>
-    <string name="alert_dialog_ok" msgid="7806760618798687406">"D\'acord"</string>
-    <string name="close_profile" msgid="3756064641769751774">"Tanca"</string>
-    <string name="registration_status_checking_status" msgid="884179594507591180">"S\'està comprovant l\'estat..."</string>
-    <string name="registration_status_registering" msgid="7986331597809521791">"S\'està registrant..."</string>
-    <string name="registration_status_still_trying" msgid="7178623685868766282">"Encara s\'està provant..."</string>
-    <string name="registration_status_not_receiving" msgid="3873074208531938401">"No s\'estan rebent trucades."</string>
-    <string name="registration_status_no_data" msgid="2987064560116584121">"S\'ha aturat el registre del compte perquè no hi ha connexió a Internet."</string>
-    <string name="registration_status_no_wifi_data" msgid="685470618241482948">"S\'ha aturat el registre del compte perquè no hi ha connexió Wi-Fi."</string>
-    <string name="registration_status_not_running" msgid="6236403137652262659">"S\'ha produït un error en registrar el compte."</string>
-    <string name="registration_status_done" msgid="6787397199273357721">"S\'estan rebent trucades."</string>
-    <string name="registration_status_failed_try_later" msgid="7855389184910312091">"S\'ha produït un error en registrar el compte: (<xliff:g id="REGISTRATION_ERROR_MESSAGE">%s</xliff:g>). Ho tornarem a provar més tard."</string>
-    <string name="registration_status_invalid_credentials" msgid="8896714049938660777">"S\'ha produït un error en registrar el compte: el nom d\'usuari o la contrasenya no són correctes."</string>
-    <string name="registration_status_server_unreachable" msgid="3832339558868965604">"S\'ha produït un error en registrar el compte: comprova el nom del servidor."</string>
-    <string name="third_party_account_summary" msgid="5918779106950859167">"L\'aplicació <xliff:g id="ACCOUNT_OWNER">%s</xliff:g> està utilitzant aquest compte actualment."</string>
-    <string name="sip_edit_title" msgid="7438891546610820307">"Compte SIP"</string>
-    <string name="sip_edit_new_title" msgid="8394790068979636381">"Compte SIP"</string>
-    <string name="domain_address_title" msgid="8238078615181248579">"Servidor"</string>
-    <string name="username_title" msgid="298416796886107970">"Nom d\'usuari"</string>
-    <string name="password_title" msgid="8035579335591959021">"Contrasenya"</string>
-    <string name="display_name_title" msgid="3730105783656830160">"Nom de visualització"</string>
-    <string name="proxy_address_title" msgid="4120361943254795287">"Adreça de servidor intermediari de sortida"</string>
-    <string name="port_title" msgid="1703586046264385110">"Número de port"</string>
-    <string name="transport_title" msgid="1661659138226029178">"Tipus de transport"</string>
-    <string name="send_keepalive_title" msgid="5319788151608946049">"Mantén connexió"</string>
-    <string name="advanced_settings" msgid="2704644977548662872">"Configuració opcional"</string>
-    <string name="auth_username_title" msgid="9002505242616662698">"Nom d\'usuari per a l\'autenticació"</string>
-    <string name="auth_username_summary" msgid="6346313945275377230">"Nom d\'usuari utilitzat per a l\'autenticació"</string>
-    <string name="default_preference_summary_username" msgid="8788114717555599222">"&lt;No definit&gt;"</string>
-    <string name="default_preference_summary_password" msgid="3695366978153175549">"&lt;No definit&gt;"</string>
-    <string name="default_preference_summary_domain_address" msgid="443247296785732364">"&lt;No definit&gt;"</string>
-    <string name="display_name_summary" msgid="6749135030093260358">"&lt;Igual que el nom d\'usuari&gt;"</string>
-    <string name="optional_summary" msgid="620379377865437488">"&lt;Opcional&gt;"</string>
-    <string name="advanced_settings_show" msgid="2318728080037568529">"▷ Toca per mostrar-ho tot"</string>
-    <string name="advanced_settings_hide" msgid="6200816937370652083">"▽ Toca per amagar-ho tot."</string>
-    <string name="all_empty_alert" msgid="6085603517610199098">"Introdueix els detalls del compte SIP nou."</string>
-    <string name="empty_alert" msgid="3693655518612836718">"<xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> és obligatori i no es pot deixar en blanc."</string>
-    <string name="not_a_valid_port" msgid="3664668836663491376">"El número de port hauria d\'estar entre 1000 i 65534."</string>
-    <string name="no_internet_available" msgid="161720645084325479">"Per fer una trucada SIP, comprova la connexió a Internet."</string>
-    <string name="no_wifi_available" msgid="1179092018692306312">"Per fer i rebre trucades SIP, has d\'estar connectat a una xarxa Wi-Fi (fes servir la configuració Connexions sense fil i xarxes)."</string>
-    <string name="no_voip" msgid="3366395789297981738">"Les trucades SIP no són compatibles."</string>
-    <string name="sip_system_decide" msgid="197230378376326430">"Automàtic"</string>
-    <string name="sip_always_send_keepalive" msgid="4986533673960084769">"Envia sempre"</string>
-    <string name="sip_connection_service_label" msgid="8796284274240316006">"Trucades SIP integrades"</string>
-</resources>
diff --git a/sip/res/values-cs/strings.xml b/sip/res/values-cs/strings.xml
deleted file mode 100644
index 652a94f..0000000
--- a/sip/res/values-cs/strings.xml
+++ /dev/null
@@ -1,80 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2014 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7452587325305604702">"Nastavení protokolu SIP"</string>
-    <string name="sip_accounts" msgid="7297896885665783239">"Účty SIP"</string>
-    <string name="sip_accounts_title" msgid="3061686404598143943">"Účty"</string>
-    <string name="sip_receive_calls" msgid="3403644006618369349">"Přijímat příchozí hovory"</string>
-    <string name="sip_receive_calls_summary" msgid="5306603671778761443">"Více vybíjí baterii"</string>
-    <string name="sip_call_options_title" msgid="5027066677561068192">"Používat volání SIP"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6663105297927456484">"Používat volání SIP (pouze Wi-Fi)"</string>
-    <string name="sip_call_options_entry_1" msgid="4722647332760934261">"Pro všechny hovory, pokud je k dispozici datová síť"</string>
-    <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">"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>
-    <string name="sip_menu_save" msgid="4377112554203123060">"Uložit"</string>
-    <string name="sip_menu_discard" msgid="1883166691772895243">"Zahodit"</string>
-    <string name="alert_dialog_close" msgid="1734746505531110706">"Zavřít profil"</string>
-    <string name="alert_dialog_ok" msgid="7806760618798687406">"OK"</string>
-    <string name="close_profile" msgid="3756064641769751774">"Zavřít"</string>
-    <string name="registration_status_checking_status" msgid="884179594507591180">"Kontrola stavu..."</string>
-    <string name="registration_status_registering" msgid="7986331597809521791">"Registrace…"</string>
-    <string name="registration_status_still_trying" msgid="7178623685868766282">"Probíhají další pokusy…"</string>
-    <string name="registration_status_not_receiving" msgid="3873074208531938401">"Hovory nejsou přijímány."</string>
-    <string name="registration_status_no_data" msgid="2987064560116584121">"Registrace účtu byla zastavena, protože není k dispozici připojení k internetu."</string>
-    <string name="registration_status_no_wifi_data" msgid="685470618241482948">"Registrace účtu byla zastavena, protože není k dispozici připojení Wi-Fi."</string>
-    <string name="registration_status_not_running" msgid="6236403137652262659">"Registrace účtu se nezdařila."</string>
-    <string name="registration_status_done" msgid="6787397199273357721">"Příjem hovorů."</string>
-    <string name="registration_status_failed_try_later" msgid="7855389184910312091">"Registrace účtu se nezdařila: (<xliff:g id="REGISTRATION_ERROR_MESSAGE">%s</xliff:g>). Pokus bude opakován později"</string>
-    <string name="registration_status_invalid_credentials" msgid="8896714049938660777">"Registrace účtu se nezdařila: nesprávné uživatelské jméno nebo heslo."</string>
-    <string name="registration_status_server_unreachable" msgid="3832339558868965604">"Registrace účtu se nezdařila. Zkontrolujte prosím název serveru."</string>
-    <string name="third_party_account_summary" msgid="5918779106950859167">"Tento účet je aktuálně používán aplikací <xliff:g id="ACCOUNT_OWNER">%s</xliff:g>."</string>
-    <string name="sip_edit_title" msgid="7438891546610820307">"Účet SIP"</string>
-    <string name="sip_edit_new_title" msgid="8394790068979636381">"Účet SIP"</string>
-    <string name="domain_address_title" msgid="8238078615181248579">"Server"</string>
-    <string name="username_title" msgid="298416796886107970">"Uživatelské jméno"</string>
-    <string name="password_title" msgid="8035579335591959021">"Heslo"</string>
-    <string name="display_name_title" msgid="3730105783656830160">"Zobrazované jméno"</string>
-    <string name="proxy_address_title" msgid="4120361943254795287">"Adresa odchozího proxy serveru"</string>
-    <string name="port_title" msgid="1703586046264385110">"Číslo portu"</string>
-    <string name="transport_title" msgid="1661659138226029178">"Typ přenosu"</string>
-    <string name="send_keepalive_title" msgid="5319788151608946049">"Odesílat zprávy pro zachování připojení"</string>
-    <string name="advanced_settings" msgid="2704644977548662872">"Nepovinná nastavení"</string>
-    <string name="auth_username_title" msgid="9002505242616662698">"Ověřovací uživatelské jméno"</string>
-    <string name="auth_username_summary" msgid="6346313945275377230">"Uživatelské jméno používané k ověření"</string>
-    <string name="default_preference_summary_username" msgid="8788114717555599222">"&lt;Nenastaveno&gt;"</string>
-    <string name="default_preference_summary_password" msgid="3695366978153175549">"&lt;Nenastaveno&gt;"</string>
-    <string name="default_preference_summary_domain_address" msgid="443247296785732364">"&lt;Nenastaveno&gt;"</string>
-    <string name="display_name_summary" msgid="6749135030093260358">"&lt;Stejné jako uživatelské jméno&gt;"</string>
-    <string name="optional_summary" msgid="620379377865437488">"&lt;Nepovinné&gt;"</string>
-    <string name="advanced_settings_show" msgid="2318728080037568529">"▷ Výběrem této položky zobrazíte všechna nastavení"</string>
-    <string name="advanced_settings_hide" msgid="6200816937370652083">"▽ Výběrem této položky skryjete všechna nastavení"</string>
-    <string name="all_empty_alert" msgid="6085603517610199098">"Zadejte podrobnosti nového účtu SIP."</string>
-    <string name="empty_alert" msgid="3693655518612836718">"Pole <xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> je povinné. Nelze je ponechat prázdné."</string>
-    <string name="not_a_valid_port" msgid="3664668836663491376">"Číslo portu by mělo být od 1000 do 65534."</string>
-    <string name="no_internet_available" msgid="161720645084325479">"Chcete-li uskutečnit volání SIP, nejdříve si zkontrolujte připojení k internetu."</string>
-    <string name="no_wifi_available" msgid="1179092018692306312">"Chcete-li použít volání SIP, musíte být připojeni k síti Wi-Fi (použijte nastavení Bezdrátová připojení a sítě)."</string>
-    <string name="no_voip" msgid="3366395789297981738">"Volání SIP není podporováno."</string>
-    <string name="sip_system_decide" msgid="197230378376326430">"Automaticky"</string>
-    <string name="sip_always_send_keepalive" msgid="4986533673960084769">"Odesílat vždy"</string>
-    <string name="sip_connection_service_label" msgid="8796284274240316006">"Vestavěné volání SIP"</string>
-</resources>
diff --git a/sip/res/values-da/strings.xml b/sip/res/values-da/strings.xml
deleted file mode 100644
index fb09dab..0000000
--- a/sip/res/values-da/strings.xml
+++ /dev/null
@@ -1,80 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2014 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7452587325305604702">"SIP-indstillinger"</string>
-    <string name="sip_accounts" msgid="7297896885665783239">"SIP-konti"</string>
-    <string name="sip_accounts_title" msgid="3061686404598143943">"Konti"</string>
-    <string name="sip_receive_calls" msgid="3403644006618369349">"Modtag indgående opkald"</string>
-    <string name="sip_receive_calls_summary" msgid="5306603671778761443">"Bruger mere batteri"</string>
-    <string name="sip_call_options_title" msgid="5027066677561068192">"Anvend SIP-opkald"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6663105297927456484">"Anvend SIP-opkald (kun Wi-Fi)"</string>
-    <string name="sip_call_options_entry_1" msgid="4722647332760934261">"Gælder alle opkald ved tilgængeligt datanetværk"</string>
-    <string name="sip_call_options_entry_2" msgid="7338504256051655013">"Kun for SIP-opkald"</string>
-    <string name="sip_call_options_wifi_only_entry_1" msgid="922329055414010991">"For alle opkald"</string>
-    <string name="add_sip_account" msgid="5754758646745144384">"Tilføj konto"</string>
-    <string name="remove_sip_account" msgid="8272617403399636513">"Fjern konto"</string>
-    <string name="sip_account_list" msgid="2596262496233721769">"SIP-konti"</string>
-    <string name="saving_account" msgid="3390358043846687266">"Kontoen gemmes..."</string>
-    <string name="removing_account" msgid="1544132880414780408">"Kontoen fjernes..."</string>
-    <string name="sip_menu_save" msgid="4377112554203123060">"Gem"</string>
-    <string name="sip_menu_discard" msgid="1883166691772895243">"Kassér"</string>
-    <string name="alert_dialog_close" msgid="1734746505531110706">"Luk profilen"</string>
-    <string name="alert_dialog_ok" msgid="7806760618798687406">"OK"</string>
-    <string name="close_profile" msgid="3756064641769751774">"Luk"</string>
-    <string name="registration_status_checking_status" msgid="884179594507591180">"Tjekker status..."</string>
-    <string name="registration_status_registering" msgid="7986331597809521791">"Registrerer..."</string>
-    <string name="registration_status_still_trying" msgid="7178623685868766282">"Forsøger stadig..."</string>
-    <string name="registration_status_not_receiving" msgid="3873074208531938401">"Modtager ikke opkald."</string>
-    <string name="registration_status_no_data" msgid="2987064560116584121">"Kontoregistreringen blev afbrudt, fordi der ikke er nogen internetforbindelse."</string>
-    <string name="registration_status_no_wifi_data" msgid="685470618241482948">"Kontotilmeldingen blev afbrudt, fordi der ikke er nogen Wi-Fi-forbindelse"</string>
-    <string name="registration_status_not_running" msgid="6236403137652262659">"Registreringen af kontoen mislykkedes."</string>
-    <string name="registration_status_done" msgid="6787397199273357721">"Modtager opkald."</string>
-    <string name="registration_status_failed_try_later" msgid="7855389184910312091">"Registreringen af konto mislykkedes: (<xliff:g id="REGISTRATION_ERROR_MESSAGE">%s</xliff:g>). Vi prøver igen senere."</string>
-    <string name="registration_status_invalid_credentials" msgid="8896714049938660777">"Registreringen af kontoen mislykkedes: Forkert brugernavn eller adgangskode."</string>
-    <string name="registration_status_server_unreachable" msgid="3832339558868965604">"Registreringen af kontoen mislykkedes. Tjek servernavn."</string>
-    <string name="third_party_account_summary" msgid="5918779106950859167">"Denne konto benyttes i øjeblikket af appen <xliff:g id="ACCOUNT_OWNER">%s</xliff:g>."</string>
-    <string name="sip_edit_title" msgid="7438891546610820307">"Info om SIP-konto"</string>
-    <string name="sip_edit_new_title" msgid="8394790068979636381">"Info om SIP-konto"</string>
-    <string name="domain_address_title" msgid="8238078615181248579">"Server"</string>
-    <string name="username_title" msgid="298416796886107970">"Brugernavn"</string>
-    <string name="password_title" msgid="8035579335591959021">"Adgangskode"</string>
-    <string name="display_name_title" msgid="3730105783656830160">"Vist navn"</string>
-    <string name="proxy_address_title" msgid="4120361943254795287">"Udgående proxyadresse"</string>
-    <string name="port_title" msgid="1703586046264385110">"Portnummer"</string>
-    <string name="transport_title" msgid="1661659138226029178">"Transporttype"</string>
-    <string name="send_keepalive_title" msgid="5319788151608946049">"Send keepalive"</string>
-    <string name="advanced_settings" msgid="2704644977548662872">"Valgfri indstillinger"</string>
-    <string name="auth_username_title" msgid="9002505242616662698">"Brugernavn til godkendelse"</string>
-    <string name="auth_username_summary" msgid="6346313945275377230">"Brugernavn ved godkendelse"</string>
-    <string name="default_preference_summary_username" msgid="8788114717555599222">"&lt;Ikke angivet&gt;"</string>
-    <string name="default_preference_summary_password" msgid="3695366978153175549">"&lt;Ikke angivet&gt;"</string>
-    <string name="default_preference_summary_domain_address" msgid="443247296785732364">"&lt;Ikke angivet&gt;"</string>
-    <string name="display_name_summary" msgid="6749135030093260358">"&lt;Samme som brugernavn&gt;"</string>
-    <string name="optional_summary" msgid="620379377865437488">"&lt;Valgfrit&gt;"</string>
-    <string name="advanced_settings_show" msgid="2318728080037568529">"▷ Tryk for at vise alle"</string>
-    <string name="advanced_settings_hide" msgid="6200816937370652083">"▽ Tryk for at skjule alle"</string>
-    <string name="all_empty_alert" msgid="6085603517610199098">"Angiv oplysninger om den nye SIP-konto."</string>
-    <string name="empty_alert" msgid="3693655518612836718">"<xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> skal udfyldes. Feltet må ikke være tomt."</string>
-    <string name="not_a_valid_port" msgid="3664668836663491376">"Portnummeret skal være mellem 1000 og 65534."</string>
-    <string name="no_internet_available" msgid="161720645084325479">"Før du foretager et SIP-opkald, skal du kontrollere din internetforbindelse."</string>
-    <string name="no_wifi_available" msgid="1179092018692306312">"Du skal have forbindelse til et Wi-Fi-netværk for at foretage SIP-opkald (brug indstillingerne for Trådløst og netværk)."</string>
-    <string name="no_voip" msgid="3366395789297981738">"SIP-opkald understøttes ikke."</string>
-    <string name="sip_system_decide" msgid="197230378376326430">"Automatisk"</string>
-    <string name="sip_always_send_keepalive" msgid="4986533673960084769">"Send altid"</string>
-    <string name="sip_connection_service_label" msgid="8796284274240316006">"Indbygget SIP-opkald"</string>
-</resources>
diff --git a/sip/res/values-de/strings.xml b/sip/res/values-de/strings.xml
deleted file mode 100644
index 26c1562..0000000
--- a/sip/res/values-de/strings.xml
+++ /dev/null
@@ -1,80 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2014 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7452587325305604702">"SIP-Einstellungen"</string>
-    <string name="sip_accounts" msgid="7297896885665783239">"SIP-Konten"</string>
-    <string name="sip_accounts_title" msgid="3061686404598143943">"Konten"</string>
-    <string name="sip_receive_calls" msgid="3403644006618369349">"Eingehende Anrufe annehmen"</string>
-    <string name="sip_receive_calls_summary" msgid="5306603671778761443">"Beansprucht den Akku stärker"</string>
-    <string name="sip_call_options_title" msgid="5027066677561068192">"SIP-Telefonie nutzen"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6663105297927456484">"Anrufe über SIP (nur WLAN)"</string>
-    <string name="sip_call_options_entry_1" msgid="4722647332760934261">"Für alle Anrufe mit verfügbarem Datennetzwerk"</string>
-    <string name="sip_call_options_entry_2" msgid="7338504256051655013">"Nur für SIP-Anrufe"</string>
-    <string name="sip_call_options_wifi_only_entry_1" msgid="922329055414010991">"Für alle Anrufe"</string>
-    <string name="add_sip_account" msgid="5754758646745144384">"Konto hinzufügen"</string>
-    <string name="remove_sip_account" msgid="8272617403399636513">"Konto entfernen"</string>
-    <string name="sip_account_list" msgid="2596262496233721769">"SIP-Konten"</string>
-    <string name="saving_account" msgid="3390358043846687266">"Konto wird gespeichert…"</string>
-    <string name="removing_account" msgid="1544132880414780408">"Konto wird entfernt…"</string>
-    <string name="sip_menu_save" msgid="4377112554203123060">"Speichern"</string>
-    <string name="sip_menu_discard" msgid="1883166691772895243">"Verwerfen"</string>
-    <string name="alert_dialog_close" msgid="1734746505531110706">"Profil schließen"</string>
-    <string name="alert_dialog_ok" msgid="7806760618798687406">"Ok"</string>
-    <string name="close_profile" msgid="3756064641769751774">"Schließen"</string>
-    <string name="registration_status_checking_status" msgid="884179594507591180">"Status wird überprüft…"</string>
-    <string name="registration_status_registering" msgid="7986331597809521791">"Registrierung läuft…"</string>
-    <string name="registration_status_still_trying" msgid="7178623685868766282">"Wird weiter versucht…"</string>
-    <string name="registration_status_not_receiving" msgid="3873074208531938401">"Eingehende Anrufe deaktiviert"</string>
-    <string name="registration_status_no_data" msgid="2987064560116584121">"Kontoregistrierung aufgrund fehlender Internetverbindung gestoppt"</string>
-    <string name="registration_status_no_wifi_data" msgid="685470618241482948">"Kontoregistrierung aufgrund fehlender WLAN-Verbindung gestoppt"</string>
-    <string name="registration_status_not_running" msgid="6236403137652262659">"Fehler bei der Kontoregistrierung"</string>
-    <string name="registration_status_done" msgid="6787397199273357721">"Eingehende Anrufe aktiviert"</string>
-    <string name="registration_status_failed_try_later" msgid="7855389184910312091">"Fehler bei der Kontoregistrierung: <xliff:g id="REGISTRATION_ERROR_MESSAGE">%s</xliff:g>. Erneuter Versuch zu einem späteren Zeitpunkt."</string>
-    <string name="registration_status_invalid_credentials" msgid="8896714049938660777">"Fehler bei der Kontoregistrierung: Nutzername oder Passwort ist falsch."</string>
-    <string name="registration_status_server_unreachable" msgid="3832339558868965604">"Fehler bei der Kontoregistrierung. Bitte überprüfe den Servernamen."</string>
-    <string name="third_party_account_summary" msgid="5918779106950859167">"Dieses Konto wird momentan von der <xliff:g id="ACCOUNT_OWNER">%s</xliff:g> App verwendet."</string>
-    <string name="sip_edit_title" msgid="7438891546610820307">"SIP-Kontodetails"</string>
-    <string name="sip_edit_new_title" msgid="8394790068979636381">"SIP-Kontodetails"</string>
-    <string name="domain_address_title" msgid="8238078615181248579">"Server"</string>
-    <string name="username_title" msgid="298416796886107970">"Nutzername"</string>
-    <string name="password_title" msgid="8035579335591959021">"Passwort"</string>
-    <string name="display_name_title" msgid="3730105783656830160">"Anzeigename"</string>
-    <string name="proxy_address_title" msgid="4120361943254795287">"Ausgehende Proxyadresse"</string>
-    <string name="port_title" msgid="1703586046264385110">"Portnummer"</string>
-    <string name="transport_title" msgid="1661659138226029178">"Transportart"</string>
-    <string name="send_keepalive_title" msgid="5319788151608946049">"Keep-Alive senden"</string>
-    <string name="advanced_settings" msgid="2704644977548662872">"Optionale Einstellungen"</string>
-    <string name="auth_username_title" msgid="9002505242616662698">"Nutzername für die Authentifizierung"</string>
-    <string name="auth_username_summary" msgid="6346313945275377230">"Für die Authentifizierung verwendeter Nutzername"</string>
-    <string name="default_preference_summary_username" msgid="8788114717555599222">"&lt;Nicht festgelegt&gt;"</string>
-    <string name="default_preference_summary_password" msgid="3695366978153175549">"&lt;Nicht festgelegt&gt;"</string>
-    <string name="default_preference_summary_domain_address" msgid="443247296785732364">"&lt;Nicht festgelegt&gt;"</string>
-    <string name="display_name_summary" msgid="6749135030093260358">"&lt;Wie Nutzername&gt;"</string>
-    <string name="optional_summary" msgid="620379377865437488">"&lt;Optional&gt;"</string>
-    <string name="advanced_settings_show" msgid="2318728080037568529">"▷ Tippen, um alle einzublenden"</string>
-    <string name="advanced_settings_hide" msgid="6200816937370652083">"▽ Tippen, um alle auszublenden"</string>
-    <string name="all_empty_alert" msgid="6085603517610199098">"Gib Details zum neuen SIP-Konto ein."</string>
-    <string name="empty_alert" msgid="3693655518612836718">"<xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> ist ein Pflichtfeld. Es darf nicht leer bleiben."</string>
-    <string name="not_a_valid_port" msgid="3664668836663491376">"Portnummer muss zwischen 1000 und 65534 liegen."</string>
-    <string name="no_internet_available" msgid="161720645084325479">"Überprüfe zunächst deine Internetverbindung, um einen SIP-Anruf zu tätigen."</string>
-    <string name="no_wifi_available" msgid="1179092018692306312">"Für SIP-Anrufe ist eine WLAN-Verbindung erforderlich. Wähle die entsprechenden Einstellungen unter \"Drahtlos &amp; Netzwerke\" aus."</string>
-    <string name="no_voip" msgid="3366395789297981738">"SIP-Anrufe werden nicht unterstützt."</string>
-    <string name="sip_system_decide" msgid="197230378376326430">"Automatisch"</string>
-    <string name="sip_always_send_keepalive" msgid="4986533673960084769">"Immer senden"</string>
-    <string name="sip_connection_service_label" msgid="8796284274240316006">"Integrierte SIP-Telefonie"</string>
-</resources>
diff --git a/sip/res/values-el/strings.xml b/sip/res/values-el/strings.xml
deleted file mode 100644
index aeb8d2c..0000000
--- a/sip/res/values-el/strings.xml
+++ /dev/null
@@ -1,80 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2014 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7452587325305604702">"Ρυθμίσεις SIP"</string>
-    <string name="sip_accounts" msgid="7297896885665783239">"Λογαριασμοί SIP"</string>
-    <string name="sip_accounts_title" msgid="3061686404598143943">"Λογαριασμοί"</string>
-    <string name="sip_receive_calls" msgid="3403644006618369349">"Λήψη εισερχόμενων κλήσεων"</string>
-    <string name="sip_receive_calls_summary" msgid="5306603671778761443">"Χρησιμοποιεί περισσότερη μπαταρία"</string>
-    <string name="sip_call_options_title" msgid="5027066677561068192">"Χρήση κλήσεων SIP"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6663105297927456484">"Χρήση κλήσεων SIP (μόνο Wi-Fi)"</string>
-    <string name="sip_call_options_entry_1" msgid="4722647332760934261">"Για όλες τις κλήσεις όταν το δίκτυο δεδομένων είναι διαθέσιμο"</string>
-    <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="sip_account_list" msgid="2596262496233721769">"Λογαριασμοί SIP"</string>
-    <string name="saving_account" msgid="3390358043846687266">"Αποθήκευση λογαριασμού…"</string>
-    <string name="removing_account" msgid="1544132880414780408">"Κατάργηση του λογαριασμού…"</string>
-    <string name="sip_menu_save" msgid="4377112554203123060">"Αποθήκευση"</string>
-    <string name="sip_menu_discard" msgid="1883166691772895243">"Απόρριψη"</string>
-    <string name="alert_dialog_close" msgid="1734746505531110706">"Κλείσιμο του προφίλ"</string>
-    <string name="alert_dialog_ok" msgid="7806760618798687406">"ΟΚ"</string>
-    <string name="close_profile" msgid="3756064641769751774">"Κλείσιμο"</string>
-    <string name="registration_status_checking_status" msgid="884179594507591180">"Έλεγχος κατάστασης…"</string>
-    <string name="registration_status_registering" msgid="7986331597809521791">"Γίνεται εγγραφή…"</string>
-    <string name="registration_status_still_trying" msgid="7178623685868766282">"Γίνεται ακόμη προσπάθεια…"</string>
-    <string name="registration_status_not_receiving" msgid="3873074208531938401">"Δεν γίνεται αποδοχή κλήσεων."</string>
-    <string name="registration_status_no_data" msgid="2987064560116584121">"Η εγγραφή του λογαριασμού διακόπηκε επειδή δεν υπάρχει σύνδεση στο διαδίκτυο."</string>
-    <string name="registration_status_no_wifi_data" msgid="685470618241482948">"Η εγγραφή του λογαριασμού διακόπηκε επειδή δεν υπάρχει σύνδεση Wi-Fi"</string>
-    <string name="registration_status_not_running" msgid="6236403137652262659">"Η εγγραφή λογαριασμού απέτυχε."</string>
-    <string name="registration_status_done" msgid="6787397199273357721">"Δέχεται κλήσεις."</string>
-    <string name="registration_status_failed_try_later" msgid="7855389184910312091">"Αποτυχία εγγραφής λογαριασμού: (<xliff:g id="REGISTRATION_ERROR_MESSAGE">%s</xliff:g>). Θα γίνει επανάληψη αργότερα"</string>
-    <string name="registration_status_invalid_credentials" msgid="8896714049938660777">"Αποτυχία εγγραφής λογαριασμού: Εσφαλμένο όνομα χρήστη ή κωδικός πρόσβασης."</string>
-    <string name="registration_status_server_unreachable" msgid="3832339558868965604">"Αποτυχία εγγραφής λογαριασμού: Ελέγξτε το όνομα του διακομιστή."</string>
-    <string name="third_party_account_summary" msgid="5918779106950859167">"Αυτήν τη στιγμή ο λογαριασμός χρησιμοποιείται από την εφαρμογή <xliff:g id="ACCOUNT_OWNER">%s</xliff:g>."</string>
-    <string name="sip_edit_title" msgid="7438891546610820307">"Λογ. SIP"</string>
-    <string name="sip_edit_new_title" msgid="8394790068979636381">"Λογ. SIP"</string>
-    <string name="domain_address_title" msgid="8238078615181248579">"Διακομιστής"</string>
-    <string name="username_title" msgid="298416796886107970">"Όνομα χρήστη"</string>
-    <string name="password_title" msgid="8035579335591959021">"Κωδικός πρόσβασης"</string>
-    <string name="display_name_title" msgid="3730105783656830160">"Εμφανιζόμενο όνομα"</string>
-    <string name="proxy_address_title" msgid="4120361943254795287">"Διεύθυνση διακομιστή μεσολάβησης εξερχομένων"</string>
-    <string name="port_title" msgid="1703586046264385110">"Αριθμός θύρας"</string>
-    <string name="transport_title" msgid="1661659138226029178">"Τύπος μεταφοράς"</string>
-    <string name="send_keepalive_title" msgid="5319788151608946049">"Αποστολή μηνυμάτων \"keep-alive\""</string>
-    <string name="advanced_settings" msgid="2704644977548662872">"Προαιρετικές ρυθμίσεις"</string>
-    <string name="auth_username_title" msgid="9002505242616662698">"Όνομα χρήστη ελέγχου ταυτότητας"</string>
-    <string name="auth_username_summary" msgid="6346313945275377230">"Όνομα χρήστη που χρησιμοποιείται για έλεγχο ταυτότητας"</string>
-    <string name="default_preference_summary_username" msgid="8788114717555599222">"&lt;Δεν έχει οριστεί&gt;"</string>
-    <string name="default_preference_summary_password" msgid="3695366978153175549">"&lt;Δεν έχει οριστεί&gt;"</string>
-    <string name="default_preference_summary_domain_address" msgid="443247296785732364">"&lt;Δεν έχει οριστεί&gt;"</string>
-    <string name="display_name_summary" msgid="6749135030093260358">"&lt;Ίδιο με το όνομα χρήστη&gt;"</string>
-    <string name="optional_summary" msgid="620379377865437488">"&lt;Προαιρετικό&gt;"</string>
-    <string name="advanced_settings_show" msgid="2318728080037568529">"▷ Αγγίξτε για εμφάνιση όλων"</string>
-    <string name="advanced_settings_hide" msgid="6200816937370652083">"▷ Αγγίξτε για απόκρυψη όλων"</string>
-    <string name="all_empty_alert" msgid="6085603517610199098">"Εισαγάγετε τα στοιχεία του νέου λογαριασμού SIP."</string>
-    <string name="empty_alert" msgid="3693655518612836718">"Το πεδίο <xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> είναι υποχρεωτικό και δεν μπορεί να είναι κενό."</string>
-    <string name="not_a_valid_port" msgid="3664668836663491376">"Ο αριθμός της θύρας θα πρέπει να είναι μεταξύ 1000 και 65534."</string>
-    <string name="no_internet_available" msgid="161720645084325479">"Για να πραγματοποιήσετε μια κλήση SIP, ελέγξτε πρώτα τη σύνδεση διαδικτύου."</string>
-    <string name="no_wifi_available" msgid="1179092018692306312">"Για να πραγματοποιήσετε κλήσεις SIP, θα πρέπει να συνδεθείτε σε δίκτυο Wi-Fi (χρησιμοποιήστε τις ρυθμίσεις Ασύρματο &amp; δίκτυο)."</string>
-    <string name="no_voip" msgid="3366395789297981738">"Οι κλήσεις SIP δεν υποστηρίζονται"</string>
-    <string name="sip_system_decide" msgid="197230378376326430">"Αυτόματα"</string>
-    <string name="sip_always_send_keepalive" msgid="4986533673960084769">"Να γίνεται πάντα αποστολή"</string>
-    <string name="sip_connection_service_label" msgid="8796284274240316006">"Ενσωματωμένη υπηρεσία κλήσεων SIP"</string>
-</resources>
diff --git a/sip/res/values-en-rAU/strings.xml b/sip/res/values-en-rAU/strings.xml
deleted file mode 100644
index 2a51671..0000000
--- a/sip/res/values-en-rAU/strings.xml
+++ /dev/null
@@ -1,80 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2014 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7452587325305604702">"SIP settings"</string>
-    <string name="sip_accounts" msgid="7297896885665783239">"SIP accounts"</string>
-    <string name="sip_accounts_title" msgid="3061686404598143943">"Accounts"</string>
-    <string name="sip_receive_calls" msgid="3403644006618369349">"Receive incoming calls"</string>
-    <string name="sip_receive_calls_summary" msgid="5306603671778761443">"Uses more battery life"</string>
-    <string name="sip_call_options_title" msgid="5027066677561068192">"Use SIP calling"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6663105297927456484">"Use SIP calling (Wi-Fi only)"</string>
-    <string name="sip_call_options_entry_1" msgid="4722647332760934261">"For all calls when data network is available"</string>
-    <string name="sip_call_options_entry_2" msgid="7338504256051655013">"Only for SIP calls"</string>
-    <string name="sip_call_options_wifi_only_entry_1" msgid="922329055414010991">"For all calls"</string>
-    <string name="add_sip_account" msgid="5754758646745144384">"Add account"</string>
-    <string name="remove_sip_account" msgid="8272617403399636513">"Remove account"</string>
-    <string name="sip_account_list" msgid="2596262496233721769">"SIP accounts"</string>
-    <string name="saving_account" msgid="3390358043846687266">"Saving the account…"</string>
-    <string name="removing_account" msgid="1544132880414780408">"Removing the account…"</string>
-    <string name="sip_menu_save" msgid="4377112554203123060">"Save"</string>
-    <string name="sip_menu_discard" msgid="1883166691772895243">"Discard"</string>
-    <string name="alert_dialog_close" msgid="1734746505531110706">"Close the profile"</string>
-    <string name="alert_dialog_ok" msgid="7806760618798687406">"OK"</string>
-    <string name="close_profile" msgid="3756064641769751774">"Close"</string>
-    <string name="registration_status_checking_status" msgid="884179594507591180">"Checking status..."</string>
-    <string name="registration_status_registering" msgid="7986331597809521791">"Registering…"</string>
-    <string name="registration_status_still_trying" msgid="7178623685868766282">"Still trying…"</string>
-    <string name="registration_status_not_receiving" msgid="3873074208531938401">"Not receiving calls."</string>
-    <string name="registration_status_no_data" msgid="2987064560116584121">"Account registration stopped because there is no Internet connection."</string>
-    <string name="registration_status_no_wifi_data" msgid="685470618241482948">"Account registration stopped because there is no Wi-Fi connection."</string>
-    <string name="registration_status_not_running" msgid="6236403137652262659">"Account registration unsuccessful."</string>
-    <string name="registration_status_done" msgid="6787397199273357721">"Receiving calls."</string>
-    <string name="registration_status_failed_try_later" msgid="7855389184910312091">"Account registration unsuccessful: (<xliff:g id="REGISTRATION_ERROR_MESSAGE">%s</xliff:g>); will try later"</string>
-    <string name="registration_status_invalid_credentials" msgid="8896714049938660777">"Account registration unsuccessful: Incorrect username or password."</string>
-    <string name="registration_status_server_unreachable" msgid="3832339558868965604">"Account registration unsuccessful: Check the server name."</string>
-    <string name="third_party_account_summary" msgid="5918779106950859167">"This account is currently in use by the <xliff:g id="ACCOUNT_OWNER">%s</xliff:g> app."</string>
-    <string name="sip_edit_title" msgid="7438891546610820307">"SIP account details"</string>
-    <string name="sip_edit_new_title" msgid="8394790068979636381">"SIP account details"</string>
-    <string name="domain_address_title" msgid="8238078615181248579">"Server"</string>
-    <string name="username_title" msgid="298416796886107970">"Username"</string>
-    <string name="password_title" msgid="8035579335591959021">"Password"</string>
-    <string name="display_name_title" msgid="3730105783656830160">"Display name"</string>
-    <string name="proxy_address_title" msgid="4120361943254795287">"Outbound proxy address"</string>
-    <string name="port_title" msgid="1703586046264385110">"Port number"</string>
-    <string name="transport_title" msgid="1661659138226029178">"Transport type"</string>
-    <string name="send_keepalive_title" msgid="5319788151608946049">"Send keep-alive"</string>
-    <string name="advanced_settings" msgid="2704644977548662872">"Optional settings"</string>
-    <string name="auth_username_title" msgid="9002505242616662698">"Authentication username"</string>
-    <string name="auth_username_summary" msgid="6346313945275377230">"Username used for authentication"</string>
-    <string name="default_preference_summary_username" msgid="8788114717555599222">"&lt;Not set&gt;"</string>
-    <string name="default_preference_summary_password" msgid="3695366978153175549">"&lt;Not set&gt;"</string>
-    <string name="default_preference_summary_domain_address" msgid="443247296785732364">"&lt;Not set&gt;"</string>
-    <string name="display_name_summary" msgid="6749135030093260358">"&lt;Same as username&gt;"</string>
-    <string name="optional_summary" msgid="620379377865437488">"&lt;Optional&gt;"</string>
-    <string name="advanced_settings_show" msgid="2318728080037568529">"▷ Touch to show all"</string>
-    <string name="advanced_settings_hide" msgid="6200816937370652083">"▽ Touch to hide all"</string>
-    <string name="all_empty_alert" msgid="6085603517610199098">"Enter details of new SIP account."</string>
-    <string name="empty_alert" msgid="3693655518612836718">"<xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> is required and can\'t be left blank."</string>
-    <string name="not_a_valid_port" msgid="3664668836663491376">"Port number should be within 1000 and 65534."</string>
-    <string name="no_internet_available" msgid="161720645084325479">"To place a SIP call, check your Internet connection first."</string>
-    <string name="no_wifi_available" msgid="1179092018692306312">"You need to be connected to a Wi-Fi network for SIP calls (use the Wireless &amp; Network settings)."</string>
-    <string name="no_voip" msgid="3366395789297981738">"SIP calling not supported"</string>
-    <string name="sip_system_decide" msgid="197230378376326430">"Automatic"</string>
-    <string name="sip_always_send_keepalive" msgid="4986533673960084769">"Always send"</string>
-    <string name="sip_connection_service_label" msgid="8796284274240316006">"Built-in SIP calling"</string>
-</resources>
diff --git a/sip/res/values-en-rCA/strings.xml b/sip/res/values-en-rCA/strings.xml
deleted file mode 100644
index 2a51671..0000000
--- a/sip/res/values-en-rCA/strings.xml
+++ /dev/null
@@ -1,80 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2014 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7452587325305604702">"SIP settings"</string>
-    <string name="sip_accounts" msgid="7297896885665783239">"SIP accounts"</string>
-    <string name="sip_accounts_title" msgid="3061686404598143943">"Accounts"</string>
-    <string name="sip_receive_calls" msgid="3403644006618369349">"Receive incoming calls"</string>
-    <string name="sip_receive_calls_summary" msgid="5306603671778761443">"Uses more battery life"</string>
-    <string name="sip_call_options_title" msgid="5027066677561068192">"Use SIP calling"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6663105297927456484">"Use SIP calling (Wi-Fi only)"</string>
-    <string name="sip_call_options_entry_1" msgid="4722647332760934261">"For all calls when data network is available"</string>
-    <string name="sip_call_options_entry_2" msgid="7338504256051655013">"Only for SIP calls"</string>
-    <string name="sip_call_options_wifi_only_entry_1" msgid="922329055414010991">"For all calls"</string>
-    <string name="add_sip_account" msgid="5754758646745144384">"Add account"</string>
-    <string name="remove_sip_account" msgid="8272617403399636513">"Remove account"</string>
-    <string name="sip_account_list" msgid="2596262496233721769">"SIP accounts"</string>
-    <string name="saving_account" msgid="3390358043846687266">"Saving the account…"</string>
-    <string name="removing_account" msgid="1544132880414780408">"Removing the account…"</string>
-    <string name="sip_menu_save" msgid="4377112554203123060">"Save"</string>
-    <string name="sip_menu_discard" msgid="1883166691772895243">"Discard"</string>
-    <string name="alert_dialog_close" msgid="1734746505531110706">"Close the profile"</string>
-    <string name="alert_dialog_ok" msgid="7806760618798687406">"OK"</string>
-    <string name="close_profile" msgid="3756064641769751774">"Close"</string>
-    <string name="registration_status_checking_status" msgid="884179594507591180">"Checking status..."</string>
-    <string name="registration_status_registering" msgid="7986331597809521791">"Registering…"</string>
-    <string name="registration_status_still_trying" msgid="7178623685868766282">"Still trying…"</string>
-    <string name="registration_status_not_receiving" msgid="3873074208531938401">"Not receiving calls."</string>
-    <string name="registration_status_no_data" msgid="2987064560116584121">"Account registration stopped because there is no Internet connection."</string>
-    <string name="registration_status_no_wifi_data" msgid="685470618241482948">"Account registration stopped because there is no Wi-Fi connection."</string>
-    <string name="registration_status_not_running" msgid="6236403137652262659">"Account registration unsuccessful."</string>
-    <string name="registration_status_done" msgid="6787397199273357721">"Receiving calls."</string>
-    <string name="registration_status_failed_try_later" msgid="7855389184910312091">"Account registration unsuccessful: (<xliff:g id="REGISTRATION_ERROR_MESSAGE">%s</xliff:g>); will try later"</string>
-    <string name="registration_status_invalid_credentials" msgid="8896714049938660777">"Account registration unsuccessful: Incorrect username or password."</string>
-    <string name="registration_status_server_unreachable" msgid="3832339558868965604">"Account registration unsuccessful: Check the server name."</string>
-    <string name="third_party_account_summary" msgid="5918779106950859167">"This account is currently in use by the <xliff:g id="ACCOUNT_OWNER">%s</xliff:g> app."</string>
-    <string name="sip_edit_title" msgid="7438891546610820307">"SIP account details"</string>
-    <string name="sip_edit_new_title" msgid="8394790068979636381">"SIP account details"</string>
-    <string name="domain_address_title" msgid="8238078615181248579">"Server"</string>
-    <string name="username_title" msgid="298416796886107970">"Username"</string>
-    <string name="password_title" msgid="8035579335591959021">"Password"</string>
-    <string name="display_name_title" msgid="3730105783656830160">"Display name"</string>
-    <string name="proxy_address_title" msgid="4120361943254795287">"Outbound proxy address"</string>
-    <string name="port_title" msgid="1703586046264385110">"Port number"</string>
-    <string name="transport_title" msgid="1661659138226029178">"Transport type"</string>
-    <string name="send_keepalive_title" msgid="5319788151608946049">"Send keep-alive"</string>
-    <string name="advanced_settings" msgid="2704644977548662872">"Optional settings"</string>
-    <string name="auth_username_title" msgid="9002505242616662698">"Authentication username"</string>
-    <string name="auth_username_summary" msgid="6346313945275377230">"Username used for authentication"</string>
-    <string name="default_preference_summary_username" msgid="8788114717555599222">"&lt;Not set&gt;"</string>
-    <string name="default_preference_summary_password" msgid="3695366978153175549">"&lt;Not set&gt;"</string>
-    <string name="default_preference_summary_domain_address" msgid="443247296785732364">"&lt;Not set&gt;"</string>
-    <string name="display_name_summary" msgid="6749135030093260358">"&lt;Same as username&gt;"</string>
-    <string name="optional_summary" msgid="620379377865437488">"&lt;Optional&gt;"</string>
-    <string name="advanced_settings_show" msgid="2318728080037568529">"▷ Touch to show all"</string>
-    <string name="advanced_settings_hide" msgid="6200816937370652083">"▽ Touch to hide all"</string>
-    <string name="all_empty_alert" msgid="6085603517610199098">"Enter details of new SIP account."</string>
-    <string name="empty_alert" msgid="3693655518612836718">"<xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> is required and can\'t be left blank."</string>
-    <string name="not_a_valid_port" msgid="3664668836663491376">"Port number should be within 1000 and 65534."</string>
-    <string name="no_internet_available" msgid="161720645084325479">"To place a SIP call, check your Internet connection first."</string>
-    <string name="no_wifi_available" msgid="1179092018692306312">"You need to be connected to a Wi-Fi network for SIP calls (use the Wireless &amp; Network settings)."</string>
-    <string name="no_voip" msgid="3366395789297981738">"SIP calling not supported"</string>
-    <string name="sip_system_decide" msgid="197230378376326430">"Automatic"</string>
-    <string name="sip_always_send_keepalive" msgid="4986533673960084769">"Always send"</string>
-    <string name="sip_connection_service_label" msgid="8796284274240316006">"Built-in SIP calling"</string>
-</resources>
diff --git a/sip/res/values-en-rGB/strings.xml b/sip/res/values-en-rGB/strings.xml
deleted file mode 100644
index 2a51671..0000000
--- a/sip/res/values-en-rGB/strings.xml
+++ /dev/null
@@ -1,80 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2014 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7452587325305604702">"SIP settings"</string>
-    <string name="sip_accounts" msgid="7297896885665783239">"SIP accounts"</string>
-    <string name="sip_accounts_title" msgid="3061686404598143943">"Accounts"</string>
-    <string name="sip_receive_calls" msgid="3403644006618369349">"Receive incoming calls"</string>
-    <string name="sip_receive_calls_summary" msgid="5306603671778761443">"Uses more battery life"</string>
-    <string name="sip_call_options_title" msgid="5027066677561068192">"Use SIP calling"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6663105297927456484">"Use SIP calling (Wi-Fi only)"</string>
-    <string name="sip_call_options_entry_1" msgid="4722647332760934261">"For all calls when data network is available"</string>
-    <string name="sip_call_options_entry_2" msgid="7338504256051655013">"Only for SIP calls"</string>
-    <string name="sip_call_options_wifi_only_entry_1" msgid="922329055414010991">"For all calls"</string>
-    <string name="add_sip_account" msgid="5754758646745144384">"Add account"</string>
-    <string name="remove_sip_account" msgid="8272617403399636513">"Remove account"</string>
-    <string name="sip_account_list" msgid="2596262496233721769">"SIP accounts"</string>
-    <string name="saving_account" msgid="3390358043846687266">"Saving the account…"</string>
-    <string name="removing_account" msgid="1544132880414780408">"Removing the account…"</string>
-    <string name="sip_menu_save" msgid="4377112554203123060">"Save"</string>
-    <string name="sip_menu_discard" msgid="1883166691772895243">"Discard"</string>
-    <string name="alert_dialog_close" msgid="1734746505531110706">"Close the profile"</string>
-    <string name="alert_dialog_ok" msgid="7806760618798687406">"OK"</string>
-    <string name="close_profile" msgid="3756064641769751774">"Close"</string>
-    <string name="registration_status_checking_status" msgid="884179594507591180">"Checking status..."</string>
-    <string name="registration_status_registering" msgid="7986331597809521791">"Registering…"</string>
-    <string name="registration_status_still_trying" msgid="7178623685868766282">"Still trying…"</string>
-    <string name="registration_status_not_receiving" msgid="3873074208531938401">"Not receiving calls."</string>
-    <string name="registration_status_no_data" msgid="2987064560116584121">"Account registration stopped because there is no Internet connection."</string>
-    <string name="registration_status_no_wifi_data" msgid="685470618241482948">"Account registration stopped because there is no Wi-Fi connection."</string>
-    <string name="registration_status_not_running" msgid="6236403137652262659">"Account registration unsuccessful."</string>
-    <string name="registration_status_done" msgid="6787397199273357721">"Receiving calls."</string>
-    <string name="registration_status_failed_try_later" msgid="7855389184910312091">"Account registration unsuccessful: (<xliff:g id="REGISTRATION_ERROR_MESSAGE">%s</xliff:g>); will try later"</string>
-    <string name="registration_status_invalid_credentials" msgid="8896714049938660777">"Account registration unsuccessful: Incorrect username or password."</string>
-    <string name="registration_status_server_unreachable" msgid="3832339558868965604">"Account registration unsuccessful: Check the server name."</string>
-    <string name="third_party_account_summary" msgid="5918779106950859167">"This account is currently in use by the <xliff:g id="ACCOUNT_OWNER">%s</xliff:g> app."</string>
-    <string name="sip_edit_title" msgid="7438891546610820307">"SIP account details"</string>
-    <string name="sip_edit_new_title" msgid="8394790068979636381">"SIP account details"</string>
-    <string name="domain_address_title" msgid="8238078615181248579">"Server"</string>
-    <string name="username_title" msgid="298416796886107970">"Username"</string>
-    <string name="password_title" msgid="8035579335591959021">"Password"</string>
-    <string name="display_name_title" msgid="3730105783656830160">"Display name"</string>
-    <string name="proxy_address_title" msgid="4120361943254795287">"Outbound proxy address"</string>
-    <string name="port_title" msgid="1703586046264385110">"Port number"</string>
-    <string name="transport_title" msgid="1661659138226029178">"Transport type"</string>
-    <string name="send_keepalive_title" msgid="5319788151608946049">"Send keep-alive"</string>
-    <string name="advanced_settings" msgid="2704644977548662872">"Optional settings"</string>
-    <string name="auth_username_title" msgid="9002505242616662698">"Authentication username"</string>
-    <string name="auth_username_summary" msgid="6346313945275377230">"Username used for authentication"</string>
-    <string name="default_preference_summary_username" msgid="8788114717555599222">"&lt;Not set&gt;"</string>
-    <string name="default_preference_summary_password" msgid="3695366978153175549">"&lt;Not set&gt;"</string>
-    <string name="default_preference_summary_domain_address" msgid="443247296785732364">"&lt;Not set&gt;"</string>
-    <string name="display_name_summary" msgid="6749135030093260358">"&lt;Same as username&gt;"</string>
-    <string name="optional_summary" msgid="620379377865437488">"&lt;Optional&gt;"</string>
-    <string name="advanced_settings_show" msgid="2318728080037568529">"▷ Touch to show all"</string>
-    <string name="advanced_settings_hide" msgid="6200816937370652083">"▽ Touch to hide all"</string>
-    <string name="all_empty_alert" msgid="6085603517610199098">"Enter details of new SIP account."</string>
-    <string name="empty_alert" msgid="3693655518612836718">"<xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> is required and can\'t be left blank."</string>
-    <string name="not_a_valid_port" msgid="3664668836663491376">"Port number should be within 1000 and 65534."</string>
-    <string name="no_internet_available" msgid="161720645084325479">"To place a SIP call, check your Internet connection first."</string>
-    <string name="no_wifi_available" msgid="1179092018692306312">"You need to be connected to a Wi-Fi network for SIP calls (use the Wireless &amp; Network settings)."</string>
-    <string name="no_voip" msgid="3366395789297981738">"SIP calling not supported"</string>
-    <string name="sip_system_decide" msgid="197230378376326430">"Automatic"</string>
-    <string name="sip_always_send_keepalive" msgid="4986533673960084769">"Always send"</string>
-    <string name="sip_connection_service_label" msgid="8796284274240316006">"Built-in SIP calling"</string>
-</resources>
diff --git a/sip/res/values-en-rIN/strings.xml b/sip/res/values-en-rIN/strings.xml
deleted file mode 100644
index 2a51671..0000000
--- a/sip/res/values-en-rIN/strings.xml
+++ /dev/null
@@ -1,80 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2014 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7452587325305604702">"SIP settings"</string>
-    <string name="sip_accounts" msgid="7297896885665783239">"SIP accounts"</string>
-    <string name="sip_accounts_title" msgid="3061686404598143943">"Accounts"</string>
-    <string name="sip_receive_calls" msgid="3403644006618369349">"Receive incoming calls"</string>
-    <string name="sip_receive_calls_summary" msgid="5306603671778761443">"Uses more battery life"</string>
-    <string name="sip_call_options_title" msgid="5027066677561068192">"Use SIP calling"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6663105297927456484">"Use SIP calling (Wi-Fi only)"</string>
-    <string name="sip_call_options_entry_1" msgid="4722647332760934261">"For all calls when data network is available"</string>
-    <string name="sip_call_options_entry_2" msgid="7338504256051655013">"Only for SIP calls"</string>
-    <string name="sip_call_options_wifi_only_entry_1" msgid="922329055414010991">"For all calls"</string>
-    <string name="add_sip_account" msgid="5754758646745144384">"Add account"</string>
-    <string name="remove_sip_account" msgid="8272617403399636513">"Remove account"</string>
-    <string name="sip_account_list" msgid="2596262496233721769">"SIP accounts"</string>
-    <string name="saving_account" msgid="3390358043846687266">"Saving the account…"</string>
-    <string name="removing_account" msgid="1544132880414780408">"Removing the account…"</string>
-    <string name="sip_menu_save" msgid="4377112554203123060">"Save"</string>
-    <string name="sip_menu_discard" msgid="1883166691772895243">"Discard"</string>
-    <string name="alert_dialog_close" msgid="1734746505531110706">"Close the profile"</string>
-    <string name="alert_dialog_ok" msgid="7806760618798687406">"OK"</string>
-    <string name="close_profile" msgid="3756064641769751774">"Close"</string>
-    <string name="registration_status_checking_status" msgid="884179594507591180">"Checking status..."</string>
-    <string name="registration_status_registering" msgid="7986331597809521791">"Registering…"</string>
-    <string name="registration_status_still_trying" msgid="7178623685868766282">"Still trying…"</string>
-    <string name="registration_status_not_receiving" msgid="3873074208531938401">"Not receiving calls."</string>
-    <string name="registration_status_no_data" msgid="2987064560116584121">"Account registration stopped because there is no Internet connection."</string>
-    <string name="registration_status_no_wifi_data" msgid="685470618241482948">"Account registration stopped because there is no Wi-Fi connection."</string>
-    <string name="registration_status_not_running" msgid="6236403137652262659">"Account registration unsuccessful."</string>
-    <string name="registration_status_done" msgid="6787397199273357721">"Receiving calls."</string>
-    <string name="registration_status_failed_try_later" msgid="7855389184910312091">"Account registration unsuccessful: (<xliff:g id="REGISTRATION_ERROR_MESSAGE">%s</xliff:g>); will try later"</string>
-    <string name="registration_status_invalid_credentials" msgid="8896714049938660777">"Account registration unsuccessful: Incorrect username or password."</string>
-    <string name="registration_status_server_unreachable" msgid="3832339558868965604">"Account registration unsuccessful: Check the server name."</string>
-    <string name="third_party_account_summary" msgid="5918779106950859167">"This account is currently in use by the <xliff:g id="ACCOUNT_OWNER">%s</xliff:g> app."</string>
-    <string name="sip_edit_title" msgid="7438891546610820307">"SIP account details"</string>
-    <string name="sip_edit_new_title" msgid="8394790068979636381">"SIP account details"</string>
-    <string name="domain_address_title" msgid="8238078615181248579">"Server"</string>
-    <string name="username_title" msgid="298416796886107970">"Username"</string>
-    <string name="password_title" msgid="8035579335591959021">"Password"</string>
-    <string name="display_name_title" msgid="3730105783656830160">"Display name"</string>
-    <string name="proxy_address_title" msgid="4120361943254795287">"Outbound proxy address"</string>
-    <string name="port_title" msgid="1703586046264385110">"Port number"</string>
-    <string name="transport_title" msgid="1661659138226029178">"Transport type"</string>
-    <string name="send_keepalive_title" msgid="5319788151608946049">"Send keep-alive"</string>
-    <string name="advanced_settings" msgid="2704644977548662872">"Optional settings"</string>
-    <string name="auth_username_title" msgid="9002505242616662698">"Authentication username"</string>
-    <string name="auth_username_summary" msgid="6346313945275377230">"Username used for authentication"</string>
-    <string name="default_preference_summary_username" msgid="8788114717555599222">"&lt;Not set&gt;"</string>
-    <string name="default_preference_summary_password" msgid="3695366978153175549">"&lt;Not set&gt;"</string>
-    <string name="default_preference_summary_domain_address" msgid="443247296785732364">"&lt;Not set&gt;"</string>
-    <string name="display_name_summary" msgid="6749135030093260358">"&lt;Same as username&gt;"</string>
-    <string name="optional_summary" msgid="620379377865437488">"&lt;Optional&gt;"</string>
-    <string name="advanced_settings_show" msgid="2318728080037568529">"▷ Touch to show all"</string>
-    <string name="advanced_settings_hide" msgid="6200816937370652083">"▽ Touch to hide all"</string>
-    <string name="all_empty_alert" msgid="6085603517610199098">"Enter details of new SIP account."</string>
-    <string name="empty_alert" msgid="3693655518612836718">"<xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> is required and can\'t be left blank."</string>
-    <string name="not_a_valid_port" msgid="3664668836663491376">"Port number should be within 1000 and 65534."</string>
-    <string name="no_internet_available" msgid="161720645084325479">"To place a SIP call, check your Internet connection first."</string>
-    <string name="no_wifi_available" msgid="1179092018692306312">"You need to be connected to a Wi-Fi network for SIP calls (use the Wireless &amp; Network settings)."</string>
-    <string name="no_voip" msgid="3366395789297981738">"SIP calling not supported"</string>
-    <string name="sip_system_decide" msgid="197230378376326430">"Automatic"</string>
-    <string name="sip_always_send_keepalive" msgid="4986533673960084769">"Always send"</string>
-    <string name="sip_connection_service_label" msgid="8796284274240316006">"Built-in SIP calling"</string>
-</resources>
diff --git a/sip/res/values-en-rXC/strings.xml b/sip/res/values-en-rXC/strings.xml
deleted file mode 100644
index 59e37f4..0000000
--- a/sip/res/values-en-rXC/strings.xml
+++ /dev/null
@@ -1,80 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2014 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7452587325305604702">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‏‎‎‏‏‏‎‏‏‎‏‏‎‎‏‏‏‎‏‎‎‎‏‎‏‎‏‏‏‏‏‏‎‏‎‏‏‎‎‏‏‎‏‎‏‏‎‏‎‎‏‎‏‎‎‏‎‏‏‏‏‎‎SIP settings‎‏‎‎‏‎"</string>
-    <string name="sip_accounts" msgid="7297896885665783239">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‏‎‎‏‎‏‎‏‎‎‎‏‏‏‎‏‎‏‎‏‏‎‏‎‎‎‏‏‎‏‎‎‏‏‎‏‎‏‏‎‎‎‏‎‎‏‏‏‎‏‏‏‎‏‏‏‎‎‎‏‏‏‎SIP accounts‎‏‎‎‏‎"</string>
-    <string name="sip_accounts_title" msgid="3061686404598143943">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‎‏‎‏‎‏‎‎‏‏‏‏‏‎‏‎‏‎‎‏‎‏‏‏‎‎‏‎‎‎‎‎‎‏‏‏‏‏‏‏‎‏‏‎‏‏‏‎‎‎‏‏‎‏‏‏‏‎‎‎‏‏‏‎Accounts‎‏‎‎‏‎"</string>
-    <string name="sip_receive_calls" msgid="3403644006618369349">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‎‏‎‏‏‏‏‎‎‏‏‏‏‎‎‎‎‏‎‏‏‎‎‎‎‏‏‎‎‎‎‏‏‎‏‎‏‎‎‎‏‏‎‎‎‎‎‎‎‎‎‏‏‎‏‎‏‎‎‎‏‎‏‎Receive incoming calls‎‏‎‎‏‎"</string>
-    <string name="sip_receive_calls_summary" msgid="5306603671778761443">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‎‎‏‎‎‏‏‎‏‎‎‏‎‎‏‏‎‏‎‏‏‏‏‏‏‎‏‏‎‎‏‎‎‎‎‏‎‎‎‎‏‎‏‎‎‎‎‎‎‏‏‎‏‎‏‏‏‎‎‎‏‏‎Uses more battery life‎‏‎‎‏‎"</string>
-    <string name="sip_call_options_title" msgid="5027066677561068192">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‎‎‎‏‎‏‏‏‎‎‎‎‏‏‏‎‏‏‏‎‏‎‏‎‎‎‎‎‏‎‎‎‏‏‏‎‏‎‎‎‏‏‏‎‏‏‎‎‎‎‏‎‏‎‏‎‏‎‎‎‎‎‎Use SIP calling‎‏‎‎‏‎"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6663105297927456484">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‎‏‏‏‎‎‎‏‏‏‏‎‎‎‎‎‎‏‏‎‏‎‏‏‏‏‎‏‏‏‎‎‏‏‏‏‏‏‏‏‏‏‏‏‎‏‎‏‎‎‎‏‏‎‏‏‏‎‎‏‎‎‎Use SIP calling (Wi-Fi only)‎‏‎‎‏‎"</string>
-    <string name="sip_call_options_entry_1" msgid="4722647332760934261">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‎‎‎‎‎‏‏‎‎‎‏‎‏‎‎‎‏‏‎‏‏‎‏‎‏‏‏‎‏‎‎‎‏‏‏‏‎‎‏‎‏‎‏‎‎‏‎‏‎‏‎‏‏‏‎‏‏‏‎‏‎‏‎For all calls when data network is available‎‏‎‎‏‎"</string>
-    <string name="sip_call_options_entry_2" msgid="7338504256051655013">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‏‎‎‏‎‏‏‏‎‏‎‏‏‏‏‎‎‏‏‎‏‎‏‎‏‏‏‏‎‏‎‏‏‎‎‏‎‎‏‎‏‎‎‏‏‎‏‎‏‏‎‎‎‏‎‏‏‎‎‏‎‏‎Only for SIP calls‎‏‎‎‏‎"</string>
-    <string name="sip_call_options_wifi_only_entry_1" msgid="922329055414010991">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‎‎‏‏‎‎‏‏‎‎‏‏‎‎‏‏‎‎‎‏‎‏‎‏‏‎‎‎‏‏‏‎‏‎‎‎‎‏‏‏‏‏‏‎‎‏‎‏‎‎‎‏‎‎‎‏‏‎‏‏‏‏‎For all calls‎‏‎‎‏‎"</string>
-    <string name="add_sip_account" msgid="5754758646745144384">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‎‎‏‏‏‏‏‏‎‏‏‏‎‏‎‎‎‎‎‎‏‎‎‏‏‏‏‏‏‏‏‏‎‎‏‎‏‏‎‏‎‏‏‎‏‎‎‎‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎Add account‎‏‎‎‏‎"</string>
-    <string name="remove_sip_account" msgid="8272617403399636513">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‏‏‎‎‏‎‏‏‎‎‏‏‏‎‎‎‏‏‏‏‎‏‏‎‏‏‎‎‏‎‏‎‏‏‏‏‎‎‎‏‎‏‏‎‎‏‏‎‎‎‎‏‏‎‎‎‏‎‎‎‎‏‎Remove account‎‏‎‎‏‎"</string>
-    <string name="sip_account_list" msgid="2596262496233721769">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‎‏‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‎‎‎‏‏‎‏‏‏‏‏‏‎‎‎‎‎‏‎‏‏‏‏‎‏‎‏‏‏‎‎‎‎‎‏‏‏‏‏‎‏‎‏‎‎‏‎SIP accounts‎‏‎‎‏‎"</string>
-    <string name="saving_account" msgid="3390358043846687266">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‎‏‎‏‏‏‏‎‎‎‎‏‏‎‎‏‏‏‏‏‎‎‎‏‎‏‎‏‏‎‏‏‎‎‏‎‎‎‎‏‏‎‏‏‏‏‎‏‎‏‏‏‎‏‎‎‎‏‎‎‎‏‎‎Saving the account…‎‏‎‎‏‎"</string>
-    <string name="removing_account" msgid="1544132880414780408">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‎‏‏‎‏‎‏‎‏‏‎‏‏‎‏‏‏‎‏‏‏‎‎‏‎‏‎‏‏‎‎‎‏‏‎‏‏‏‏‎‎‎‏‏‏‏‏‏‎‏‎‏‎‏‏‏‏‏‏‏‎‎‎‎Removing the account…‎‏‎‎‏‎"</string>
-    <string name="sip_menu_save" msgid="4377112554203123060">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‎‏‏‏‏‎‎‏‎‏‏‏‏‏‎‏‎‏‎‎‎‎‎‏‎‏‎‏‏‎‏‎‏‎‏‎‏‏‏‎‎‏‎‏‏‏‎‎‎‎‎‏‏‎‏‎‏‏‏‎‏‎‎‎Save‎‏‎‎‏‎"</string>
-    <string name="sip_menu_discard" msgid="1883166691772895243">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‎‏‏‏‎‏‎‎‎‏‎‎‎‏‎‎‏‎‏‏‎‏‎‎‎‏‎‎‎‎‎‏‏‏‏‎‎‏‏‏‏‏‏‏‎‎‎‏‎‎‏‎‎‎‎‎‎‎‎‏‎‏‏‎Discard‎‏‎‎‏‎"</string>
-    <string name="alert_dialog_close" msgid="1734746505531110706">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‏‎‎‎‎‏‏‏‎‏‏‎‎‎‎‎‏‎‏‏‏‎‏‎‏‏‎‎‎‏‎‎‎‎‎‏‏‎‏‎‏‎‎‏‏‎‎‏‎‎Close the profile‎‏‎‎‏‎"</string>
-    <string name="alert_dialog_ok" msgid="7806760618798687406">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‏‎‏‏‎‎‎‏‎‏‎‏‏‏‎‎‏‎‏‏‏‏‎‏‏‎‏‎‏‏‏‎‏‏‏‎‏‎‎‎‎‎‎‎‎‏‎‎‏‎‎‏‎‎‏‎‏‎‏‏‏‎‎OK‎‏‎‎‏‎"</string>
-    <string name="close_profile" msgid="3756064641769751774">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‎‏‏‎‏‎‎‎‎‏‎‎‎‎‎‎‎‏‏‏‎‎‎‏‏‏‎‎‏‎‎‎‎‏‎‎‏‏‎‎‎‎‏‎‏‏‏‎‏‎‎‎‏‎‎‏‏‎‏‏‏‏‎‎Close‎‏‎‎‏‎"</string>
-    <string name="registration_status_checking_status" msgid="884179594507591180">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‎‎‏‏‎‎‎‏‎‎‎‏‎‏‎‎‏‏‏‏‎‎‏‎‏‎‏‎‎‎‎‎‎‏‏‎‎‎‎‏‎‎‎‏‏‎‎‎‎‏‏‏‏‎‎‎‎‎‏‏‎‎‎Checking status...‎‏‎‎‏‎"</string>
-    <string name="registration_status_registering" msgid="7986331597809521791">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‏‎‏‏‏‎‏‏‎‏‎‏‎‏‎‎‏‎‎‏‏‎‎‏‎‎‎‏‏‎‎‏‎‏‏‎‎‏‏‏‏‎‏‎‏‎‎‎‎‏‎‏‎‎‎‏‏‏‏‏‏‏‎Registering…‎‏‎‎‏‎"</string>
-    <string name="registration_status_still_trying" msgid="7178623685868766282">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‏‎‎‎‏‏‏‎‎‏‏‏‏‏‏‎‎‏‏‎‎‎‎‎‏‏‎‏‎‏‎‏‎‏‎‏‎‎‎‏‏‎‏‎‎‏‏‏‎‎‎‏‎‎‎‏‎‎‏‎‏‎‎Still trying…‎‏‎‎‏‎"</string>
-    <string name="registration_status_not_receiving" msgid="3873074208531938401">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‎‏‏‎‏‎‏‏‎‏‏‏‏‏‏‏‏‏‎‏‏‎‎‎‏‏‏‏‎‎‎‏‏‏‎‎‏‎‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‏‏‎‎‎‎‏‎Not receiving calls.‎‏‎‎‏‎"</string>
-    <string name="registration_status_no_data" msgid="2987064560116584121">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‎‏‎‏‎‎‏‎‏‏‏‎‏‎‎‎‎‏‎‏‏‏‏‎‏‏‎‎‏‎‎‎‎‏‎‏‎‏‎‏‏‏‎‏‎‎‎‎‏‎‎‏‏‏‎‏‎‏‏‏‎‎‏‎Account registration stopped because there is no Internet connection.‎‏‎‎‏‎"</string>
-    <string name="registration_status_no_wifi_data" msgid="685470618241482948">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‎‎‏‎‎‏‏‎‎‎‎‎‏‏‎‏‎‎‎‏‏‏‏‏‏‎‎‏‎‏‎‏‎‎‎‎‎‎‎‏‎‎‎‎‎‎‎‏‎‎‎‎‎‎‏‏‎‎‎‏‎‎‎Account registration stopped because there is no Wi-Fi connection.‎‏‎‎‏‎"</string>
-    <string name="registration_status_not_running" msgid="6236403137652262659">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‎‏‎‏‏‎‏‎‎‎‏‏‎‎‎‎‏‎‎‏‏‏‏‎‎‏‏‏‎‎‏‎‎‏‏‏‏‏‏‏‏‎‎‏‎‏‎‎‎‎‎‏‏‏‎‎‎‎‎‎‏‏‎Account registration unsuccessful.‎‏‎‎‏‎"</string>
-    <string name="registration_status_done" msgid="6787397199273357721">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‎‏‏‏‏‎‎‎‏‏‎‎‎‏‏‎‏‎‏‏‎‏‏‏‎‎‏‎‏‎‏‎‏‎‎‏‎‎‎‎‏‎‏‎‏‏‎‏‏‏‎‎‎‏‏‎‎‏‏‎‎‏‎Receiving calls.‎‏‎‎‏‎"</string>
-    <string name="registration_status_failed_try_later" msgid="7855389184910312091">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‏‎‏‏‎‏‎‎‎‎‎‎‏‏‏‏‏‏‎‎‏‎‏‏‎‏‏‎‎‎‎‎‎‏‎‎‏‏‎‎‎‎‎‏‏‎‎‏‎‎‎‎‏‎‏‎‎‏‏‎‏‏‎Account registration unsuccessful: (‎‏‎‎‏‏‎<xliff:g id="REGISTRATION_ERROR_MESSAGE">%s</xliff:g>‎‏‎‎‏‏‏‎); will try later‎‏‎‎‏‎"</string>
-    <string name="registration_status_invalid_credentials" msgid="8896714049938660777">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‏‏‏‎‏‏‎‏‏‏‎‏‏‏‎‏‏‏‏‎‏‎‎‏‎‎‏‎‏‎‏‎‏‎‎‏‏‎‏‏‎‏‎‎‏‎‎‎‎‏‏‏‎‏‏‎‏‎‏‎‎‏‎Account registration unsuccessful: Incorrect username or password.‎‏‎‎‏‎"</string>
-    <string name="registration_status_server_unreachable" msgid="3832339558868965604">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‎‏‏‎‏‎‏‎‎‏‎‏‏‏‏‎‎‏‏‎‏‎‎‏‎‎‎‎‏‏‎‎‎‏‏‎‎‎‏‎‎‎‎‏‏‏‏‏‏‎‏‏‎‎‎‏‏‏‎‎‏‎‎‎Account registration unsuccessful: Check the server name.‎‏‎‎‏‎"</string>
-    <string name="third_party_account_summary" msgid="5918779106950859167">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‎‏‎‎‏‎‎‎‏‎‎‎‏‏‏‎‏‏‏‎‏‎‎‎‏‏‏‏‎‏‎‎‎‏‏‏‎‏‏‏‎‎‏‏‏‏‎‏‎‎‏‎‎‏‏‎‎‏‏‏‏‏‎This account is currently in use by the ‎‏‎‎‏‏‎<xliff:g id="ACCOUNT_OWNER">%s</xliff:g>‎‏‎‎‏‏‏‎ app.‎‏‎‎‏‎"</string>
-    <string name="sip_edit_title" msgid="7438891546610820307">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‏‎‎‏‏‏‎‎‏‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‎‎‏‎‏‏‎‏‏‏‏‎‎‏‏‎‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎‏‎‎‏‏‎SIP account details‎‏‎‎‏‎"</string>
-    <string name="sip_edit_new_title" msgid="8394790068979636381">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‏‏‎‏‎‎‏‎‎‎‎‎‎‎‎‏‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‎‎‏‏‎‎‏‏‎‎‎‎‎‏‎‎‎‎‏‏‎‎‎‏‎‎‏‏‏‎‏‎SIP account details‎‏‎‎‏‎"</string>
-    <string name="domain_address_title" msgid="8238078615181248579">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‏‏‎‎‏‎‎‏‎‏‎‎‏‏‏‎‎‎‏‎‎‎‏‏‎‏‏‎‏‎‎‏‏‏‎‎‎‏‏‎‎‏‏‏‏‎‏‏‎‎‏‎‎‎‎‏‎‎‎‎‏‏‎Server‎‏‎‎‏‎"</string>
-    <string name="username_title" msgid="298416796886107970">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‎‏‏‏‎‎‎‎‏‎‎‏‎‎‎‎‏‏‎‎‎‎‎‏‏‏‏‏‏‎‏‏‏‎‎‏‎‏‎‏‏‎‏‎‎‎‎‎‎‎‎‏‏‏‎‏‎‎‎‎‏‎‎Username‎‏‎‎‏‎"</string>
-    <string name="password_title" msgid="8035579335591959021">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‏‎‏‏‏‏‏‎‎‎‎‏‎‎‎‎‎‏‏‏‎‎‏‏‎‏‎‏‎‎‏‏‎‏‎‏‏‎‎‏‏‎‏‏‎‏‏‎‎‏‏‎‎‏‏‏‏‎‏‏‎‏‎Password‎‏‎‎‏‎"</string>
-    <string name="display_name_title" msgid="3730105783656830160">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‎‏‏‎‎‏‏‏‏‎‎‎‎‏‏‏‏‏‏‏‏‏‏‎‏‏‏‎‎‏‎‏‎‎‎‎‎‎‏‎‏‏‏‏‏‏‎‏‏‎‏‎‏‎‎‏‏‎‏‎‎‎‎‎Display name‎‏‎‎‏‎"</string>
-    <string name="proxy_address_title" msgid="4120361943254795287">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‎‏‏‏‎‎‏‎‎‏‎‏‏‏‎‎‏‏‏‎‏‏‏‎‏‎‏‏‎‏‏‎‏‎‏‎‏‎‏‏‎‏‏‏‏‎‏‏‎‎‎‎‏‎‎‎‎‎‏‎‏‏‏‎Outbound proxy address‎‏‎‎‏‎"</string>
-    <string name="port_title" msgid="1703586046264385110">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‎‏‏‎‏‏‏‏‎‏‎‎‏‎‎‎‏‎‏‏‎‏‎‎‏‏‏‏‎‏‏‏‎‏‎‏‎‏‏‏‏‏‎‎‏‏‎‏‎‎‏‏‏‏‎‎‏‎‏‎‏‏‎‎Port number‎‏‎‎‏‎"</string>
-    <string name="transport_title" msgid="1661659138226029178">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‎‏‏‎‏‏‏‎‎‎‎‏‏‏‏‎‏‏‎‎‏‏‎‎‎‏‎‏‏‏‎‏‎‏‎‏‏‏‏‏‎‏‏‏‏‏‎‏‎‎‎‎‎‏‎‎‏‏‏‏‎‏‎‎Transport type‎‏‎‎‏‎"</string>
-    <string name="send_keepalive_title" msgid="5319788151608946049">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‎‎‏‎‎‏‏‏‎‏‎‎‏‏‏‎‏‎‏‏‏‏‎‎‏‎‎‎‏‏‎‏‏‏‎‎‎‎‏‏‏‏‏‎‏‏‏‎‏‎‏‏‎‏‏‎‎‎‎‎‎‏‎Send keep-alive‎‏‎‎‏‎"</string>
-    <string name="advanced_settings" msgid="2704644977548662872">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‎‏‎‎‏‎‏‏‎‎‎‏‎‎‎‏‏‎‏‎‏‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‎‏‎‎‏‎‏‎‏‎‏‎‎‎‏‏‎‎‎‎‏‎‏‏‎‎‎‎Optional settings‎‏‎‎‏‎"</string>
-    <string name="auth_username_title" msgid="9002505242616662698">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‏‏‏‏‎‎‏‏‏‎‏‏‏‏‎‏‎‏‎‎‏‎‏‏‎‏‎‎‏‎‎‎‏‎‎‎‏‎‏‏‎‎‎‎‏‎‎‎‎‎‏‎‏‎‏‎‏‎‏‎‏‎‎Authentication username‎‏‎‎‏‎"</string>
-    <string name="auth_username_summary" msgid="6346313945275377230">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‎‏‏‎‎‎‎‎‎‏‎‎‏‎‏‎‏‎‎‎‏‎‏‏‏‎‏‎‎‎‏‎‏‏‎‏‎‏‎‎‏‏‏‏‏‏‎‎‏‎‎‏‏‎‎‏‎‎‏‏‏‎‎Username used for authentication‎‏‎‎‏‎"</string>
-    <string name="default_preference_summary_username" msgid="8788114717555599222">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‏‏‏‎‎‏‏‏‏‏‎‏‎‏‏‎‏‎‎‏‏‏‏‏‎‎‎‏‏‎‎‎‏‏‎‎‎‏‎‏‎‎‏‎‎‎‏‎‏‎‎‏‏‏‎‏‏‏‎‏‏‎‎&lt;Not set&gt;‎‏‎‎‏‎"</string>
-    <string name="default_preference_summary_password" msgid="3695366978153175549">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‎‏‏‎‎‏‏‎‏‎‎‏‎‎‎‏‎‎‏‎‏‎‎‏‎‏‏‎‎‎‎‎‎‎‎‏‏‏‏‏‎‎‎‎‏‏‏‎‏‎‏‏‎‎‏‏‏‏‏‏‏‎‏‎&lt;Not set&gt;‎‏‎‎‏‎"</string>
-    <string name="default_preference_summary_domain_address" msgid="443247296785732364">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‎‏‏‏‏‎‎‎‏‎‎‏‏‎‏‎‏‏‏‎‏‏‎‎‎‏‎‎‎‏‎‏‏‎‏‎‎‎‏‎‎‏‎‎‎‎‏‏‎‏‎‎‏‏‎‎‎‎‏‏‎‎‎&lt;Not set&gt;‎‏‎‎‏‎"</string>
-    <string name="display_name_summary" msgid="6749135030093260358">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‎‏‏‏‎‏‏‎‏‎‏‎‎‏‏‎‏‏‏‏‏‎‏‎‎‎‏‏‎‏‎‎‏‎‏‎‎‏‏‏‎‏‏‎‏‎‏‎‏‎‎‏‏‎‎‏‎‎‎‏‏‎‎&lt;Same as username&gt;‎‏‎‎‏‎"</string>
-    <string name="optional_summary" msgid="620379377865437488">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‎‎‏‎‎‎‏‎‎‏‏‏‎‎‎‎‎‎‎‏‏‏‏‏‎‎‎‎‎‏‏‏‎‏‏‎‏‏‏‎‏‎‎‏‎‏‏‎‏‏‎‎‎‏‎‎‏‏‎‎‎‎‎&lt;Optional&gt;‎‏‎‎‏‎"</string>
-    <string name="advanced_settings_show" msgid="2318728080037568529">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‎‏‎‎‎‎‎‎‎‏‎‏‏‎‏‏‏‎‎‎‏‏‎‏‏‏‎‎‏‏‏‎‏‎‏‎‏‎‏‎‏‎‏‏‏‎‎‏‏‏‎‎‎‎‎‎‎‎‏‎‎‎‏‎▷ Touch to show all‎‏‎‎‏‎"</string>
-    <string name="advanced_settings_hide" msgid="6200816937370652083">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‎‏‎‏‏‎‎‎‎‎‏‏‎‏‏‎‏‏‏‎‏‎‎‎‏‎‎‏‏‎‏‎‏‏‎‏‎‏‎‎‏‏‎‏‎‎‎‎‎‎‏‏‎‏‏‎‏‏‎‎‏‏‎▽ Touch to hide all‎‏‎‎‏‎"</string>
-    <string name="all_empty_alert" msgid="6085603517610199098">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‎‏‎‏‎‎‎‏‏‏‎‏‎‎‎‏‏‎‏‎‎‎‎‎‏‎‏‎‎‎‎‎‎‎‎‏‏‏‎‎‎‎‎‏‏‎‎‎‎‎‏‎‎‎‎‎‏‏‏‎‏‎‎Enter details of new SIP account.‎‏‎‎‏‎"</string>
-    <string name="empty_alert" msgid="3693655518612836718">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‎‏‏‎‎‏‏‎‏‎‎‎‎‏‎‏‎‎‎‎‎‎‎‎‎‎‏‏‏‏‏‏‏‎‏‎‏‎‏‏‎‎‏‎‏‎‎‎‏‎‏‎‎‎‏‎‏‏‎‏‏‏‎‎‎‏‎‎‏‏‎<xliff:g id="INPUT_FIELD_NAME">%s</xliff:g>‎‏‎‎‏‏‏‎ is required and can\'t be left blank.‎‏‎‎‏‎"</string>
-    <string name="not_a_valid_port" msgid="3664668836663491376">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‎‏‏‎‎‏‎‏‏‎‏‏‎‏‏‏‎‎‎‎‏‎‎‏‏‏‎‎‏‎‎‎‎‎‎‎‏‎‎‏‏‎‎‎‏‎‏‎‏‏‏‏‎‏‏‎‎‏‏‎‎‎‎‎Port number should be within 1000 and 65534.‎‏‎‎‏‎"</string>
-    <string name="no_internet_available" msgid="161720645084325479">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‎‏‎‏‎‎‎‏‏‏‏‏‎‏‎‎‎‏‏‎‎‎‎‎‏‎‎‎‏‏‏‏‎‎‎‏‏‎‎‎‏‏‎‎‏‎‎‏‎‎‏‏‎‎‏‏‎‎‏‏‏‎To place a SIP call, check your Internet connection first.‎‏‎‎‏‎"</string>
-    <string name="no_wifi_available" msgid="1179092018692306312">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‎‏‏‎‎‎‎‎‏‎‏‏‏‎‎‏‏‏‏‏‎‎‏‏‏‏‏‎‎‎‏‏‎‏‎‎‎‏‏‏‎‏‎‎‏‏‏‎‎‏‏‎‏‎‏‏‎‎‎‏‎‎‎‎You need to be connected to a Wi-Fi network for SIP calls (use the Wireless &amp; Network settings).‎‏‎‎‏‎"</string>
-    <string name="no_voip" msgid="3366395789297981738">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‎‏‎‏‏‏‎‏‎‏‏‎‏‏‏‏‏‎‏‎‏‏‏‎‎‏‎‎‎‏‎‎‏‏‎‏‎‏‎‎‏‏‏‏‎‏‎‎‎‎‏‏‎‎‏‎‎‏‎‏‎‏‎‎SIP calling not supported‎‏‎‎‏‎"</string>
-    <string name="sip_system_decide" msgid="197230378376326430">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‎‏‎‏‎‏‎‏‏‏‏‎‎‏‎‏‏‎‎‏‏‏‏‏‏‏‎‏‏‏‏‏‏‎‎‏‎‎‎‎‎‏‎‎‏‎‏‏‎‏‏‎‏‎‎‎‏‏‏‏‎‎Automatic‎‏‎‎‏‎"</string>
-    <string name="sip_always_send_keepalive" msgid="4986533673960084769">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‎‎‎‏‎‏‎‎‏‏‎‎‏‏‏‎‏‏‏‎‎‏‏‏‏‏‎‏‎‎‏‏‏‎‏‎‎‎‏‏‏‎‏‎‏‎‎‎‎‏‎‏‎‏‎‎‏‎‎‎‎‏‎Always send‎‏‎‎‏‎"</string>
-    <string name="sip_connection_service_label" msgid="8796284274240316006">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‏‏‏‎‏‎‎‎‎‏‎‎‏‎‏‎‏‎‏‏‎‏‏‏‏‏‎‎‎‏‎‏‎‏‎‏‎‏‎‏‏‏‎‎‏‎‏‏‏‎‎‎‏‎‎‏‏‎‎‏‏‎‎Built-in SIP calling‎‏‎‎‏‎"</string>
-</resources>
diff --git a/sip/res/values-es-rUS/strings.xml b/sip/res/values-es-rUS/strings.xml
deleted file mode 100644
index b18c0df..0000000
--- a/sip/res/values-es-rUS/strings.xml
+++ /dev/null
@@ -1,80 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2014 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7452587325305604702">"Configuración de SIP"</string>
-    <string name="sip_accounts" msgid="7297896885665783239">"Cuentas SIP"</string>
-    <string name="sip_accounts_title" msgid="3061686404598143943">"Cuentas"</string>
-    <string name="sip_receive_calls" msgid="3403644006618369349">"Recibir llamadas entrantes"</string>
-    <string name="sip_receive_calls_summary" msgid="5306603671778761443">"Utiliza más batería"</string>
-    <string name="sip_call_options_title" msgid="5027066677561068192">"Utilizar llamadas SIP"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6663105297927456484">"Utilizar llamadas SIP (solo Wi-Fi)"</string>
-    <string name="sip_call_options_entry_1" msgid="4722647332760934261">"Para todas las llamadas cuando la red de datos esté disponible"</string>
-    <string name="sip_call_options_entry_2" msgid="7338504256051655013">"Solo para llamadas SIP"</string>
-    <string name="sip_call_options_wifi_only_entry_1" msgid="922329055414010991">"Para todas las llamadas"</string>
-    <string name="add_sip_account" msgid="5754758646745144384">"Agregar cuenta"</string>
-    <string name="remove_sip_account" msgid="8272617403399636513">"Quitar cuenta"</string>
-    <string name="sip_account_list" msgid="2596262496233721769">"Cuentas SIP"</string>
-    <string name="saving_account" msgid="3390358043846687266">"Guardando la cuenta…"</string>
-    <string name="removing_account" msgid="1544132880414780408">"Eliminando la cuenta…"</string>
-    <string name="sip_menu_save" msgid="4377112554203123060">"Guardar"</string>
-    <string name="sip_menu_discard" msgid="1883166691772895243">"Descartar"</string>
-    <string name="alert_dialog_close" msgid="1734746505531110706">"Cerrar el perfil"</string>
-    <string name="alert_dialog_ok" msgid="7806760618798687406">"Aceptar"</string>
-    <string name="close_profile" msgid="3756064641769751774">"Cerrar"</string>
-    <string name="registration_status_checking_status" msgid="884179594507591180">"Comprobando el estado…"</string>
-    <string name="registration_status_registering" msgid="7986331597809521791">"Registrando…"</string>
-    <string name="registration_status_still_trying" msgid="7178623685868766282">"Intento en curso…"</string>
-    <string name="registration_status_not_receiving" msgid="3873074208531938401">"Sin recepción de llamadas"</string>
-    <string name="registration_status_no_data" msgid="2987064560116584121">"Se detuvo el registro de cuenta porque no hay conexión a Internet."</string>
-    <string name="registration_status_no_wifi_data" msgid="685470618241482948">"Se detuvo el registro de la cuenta porque no existe una conexión Wi-Fi."</string>
-    <string name="registration_status_not_running" msgid="6236403137652262659">"La cuenta no se registró correctamente."</string>
-    <string name="registration_status_done" msgid="6787397199273357721">"Recibiendo llamadas"</string>
-    <string name="registration_status_failed_try_later" msgid="7855389184910312091">"La cuenta no se registró correctamente: (<xliff:g id="REGISTRATION_ERROR_MESSAGE">%s</xliff:g>); se volverá a intentar más tarde."</string>
-    <string name="registration_status_invalid_credentials" msgid="8896714049938660777">"La cuenta no se registró correctamente: contraseña o nombre de usuario incorrectos."</string>
-    <string name="registration_status_server_unreachable" msgid="3832339558868965604">"La cuenta no se registró correctamente: verifica el nombre del servidor."</string>
-    <string name="third_party_account_summary" msgid="5918779106950859167">"La aplicación <xliff:g id="ACCOUNT_OWNER">%s</xliff:g> está usando la cuenta en este momento."</string>
-    <string name="sip_edit_title" msgid="7438891546610820307">"Detalles de la cuenta SIP"</string>
-    <string name="sip_edit_new_title" msgid="8394790068979636381">"Detalles de la cuenta SIP"</string>
-    <string name="domain_address_title" msgid="8238078615181248579">"Servidor"</string>
-    <string name="username_title" msgid="298416796886107970">"Nombre de usuario"</string>
-    <string name="password_title" msgid="8035579335591959021">"Contraseña"</string>
-    <string name="display_name_title" msgid="3730105783656830160">"Nombre de visualización"</string>
-    <string name="proxy_address_title" msgid="4120361943254795287">"Dirección de proxy saliente"</string>
-    <string name="port_title" msgid="1703586046264385110">"Número de puerto"</string>
-    <string name="transport_title" msgid="1661659138226029178">"Tipo de transporte"</string>
-    <string name="send_keepalive_title" msgid="5319788151608946049">"Enviar mantenimiento de conexión"</string>
-    <string name="advanced_settings" msgid="2704644977548662872">"Configuración opcional"</string>
-    <string name="auth_username_title" msgid="9002505242616662698">"Nombre de usuario de autenticación"</string>
-    <string name="auth_username_summary" msgid="6346313945275377230">"Nombre de usuario utilizado para autenticación"</string>
-    <string name="default_preference_summary_username" msgid="8788114717555599222">"&lt;Sin configurar&gt;"</string>
-    <string name="default_preference_summary_password" msgid="3695366978153175549">"&lt;Sin configurar&gt;"</string>
-    <string name="default_preference_summary_domain_address" msgid="443247296785732364">"&lt;Sin configurar&gt;"</string>
-    <string name="display_name_summary" msgid="6749135030093260358">"&lt;Igual que el nombre de usuario&gt;"</string>
-    <string name="optional_summary" msgid="620379377865437488">"&lt;Opcional&gt;"</string>
-    <string name="advanced_settings_show" msgid="2318728080037568529">"▷ Tocar para mostrar todo"</string>
-    <string name="advanced_settings_hide" msgid="6200816937370652083">"▽ Tocar para ocultar todo"</string>
-    <string name="all_empty_alert" msgid="6085603517610199098">"Ingresa los detalles de la cuenta SIP nueva."</string>
-    <string name="empty_alert" msgid="3693655518612836718">"El campo <xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> es obligatorio y no puede quedar en blanco."</string>
-    <string name="not_a_valid_port" msgid="3664668836663491376">"El número de puerto debe estar dentro de 1000 y 65534."</string>
-    <string name="no_internet_available" msgid="161720645084325479">"Para realizar una llamada SIP, primero comprueba que tienes conexión a Internet."</string>
-    <string name="no_wifi_available" msgid="1179092018692306312">"Tienes que estar conectado a una red Wi-Fi para las llamadas SIP (utilizar la configuración de redes inalámbricas)."</string>
-    <string name="no_voip" msgid="3366395789297981738">"Llamada SIP no compatible"</string>
-    <string name="sip_system_decide" msgid="197230378376326430">"Automático"</string>
-    <string name="sip_always_send_keepalive" msgid="4986533673960084769">"Enviar siempre"</string>
-    <string name="sip_connection_service_label" msgid="8796284274240316006">"Llamadas SIP integradas"</string>
-</resources>
diff --git a/sip/res/values-es/strings.xml b/sip/res/values-es/strings.xml
deleted file mode 100644
index 69ab04f..0000000
--- a/sip/res/values-es/strings.xml
+++ /dev/null
@@ -1,80 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2014 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7452587325305604702">"Ajustes de SIP"</string>
-    <string name="sip_accounts" msgid="7297896885665783239">"Cuentas SIP"</string>
-    <string name="sip_accounts_title" msgid="3061686404598143943">"Cuentas"</string>
-    <string name="sip_receive_calls" msgid="3403644006618369349">"Recibir llamadas"</string>
-    <string name="sip_receive_calls_summary" msgid="5306603671778761443">"Consume más batería"</string>
-    <string name="sip_call_options_title" msgid="5027066677561068192">"Usar SIP"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6663105297927456484">"Usar llamadas SIP (solo con Wi-Fi)"</string>
-    <string name="sip_call_options_entry_1" msgid="4722647332760934261">"Para todas las llamadas cuando haya redes de datos disponibles"</string>
-    <string name="sip_call_options_entry_2" msgid="7338504256051655013">"Solo para llamadas SIP"</string>
-    <string name="sip_call_options_wifi_only_entry_1" msgid="922329055414010991">"En todas las llamadas"</string>
-    <string name="add_sip_account" msgid="5754758646745144384">"Añadir cuenta"</string>
-    <string name="remove_sip_account" msgid="8272617403399636513">"Quitar cuenta"</string>
-    <string name="sip_account_list" msgid="2596262496233721769">"Cuentas SIP"</string>
-    <string name="saving_account" msgid="3390358043846687266">"Guardando la cuenta..."</string>
-    <string name="removing_account" msgid="1544132880414780408">"Eliminando la cuenta..."</string>
-    <string name="sip_menu_save" msgid="4377112554203123060">"Guardar"</string>
-    <string name="sip_menu_discard" msgid="1883166691772895243">"Descartar"</string>
-    <string name="alert_dialog_close" msgid="1734746505531110706">"Cerrar el perfil"</string>
-    <string name="alert_dialog_ok" msgid="7806760618798687406">"Aceptar"</string>
-    <string name="close_profile" msgid="3756064641769751774">"Cerrar"</string>
-    <string name="registration_status_checking_status" msgid="884179594507591180">"Comprobando estado..."</string>
-    <string name="registration_status_registering" msgid="7986331597809521791">"Registrando..."</string>
-    <string name="registration_status_still_trying" msgid="7178623685868766282">"Seguimos intentándolo..."</string>
-    <string name="registration_status_not_receiving" msgid="3873074208531938401">"Sin recepción de llamadas"</string>
-    <string name="registration_status_no_data" msgid="2987064560116584121">"Se ha detenido el registro de cuenta porque no hay conexión a Internet."</string>
-    <string name="registration_status_no_wifi_data" msgid="685470618241482948">"Se ha detenido el registro de cuenta porque no hay conexión Wi-Fi."</string>
-    <string name="registration_status_not_running" msgid="6236403137652262659">"Registro de cuenta incorrecto"</string>
-    <string name="registration_status_done" msgid="6787397199273357721">"Recibiendo llamadas"</string>
-    <string name="registration_status_failed_try_later" msgid="7855389184910312091">"Error al registrar la cuenta: (<xliff:g id="REGISTRATION_ERROR_MESSAGE">%s</xliff:g>); vuelve a intentarlo más tarde"</string>
-    <string name="registration_status_invalid_credentials" msgid="8896714049938660777">"Registro de cuenta incorrecto: nombre de usuario o contraseña incorrectos."</string>
-    <string name="registration_status_server_unreachable" msgid="3832339558868965604">"Error al registrar la cuenta: comprueba el nombre del servidor."</string>
-    <string name="third_party_account_summary" msgid="5918779106950859167">"La aplicación <xliff:g id="ACCOUNT_OWNER">%s</xliff:g> está utilizando esta cuenta en este momento."</string>
-    <string name="sip_edit_title" msgid="7438891546610820307">"Cuenta SIP"</string>
-    <string name="sip_edit_new_title" msgid="8394790068979636381">"Cuenta SIP"</string>
-    <string name="domain_address_title" msgid="8238078615181248579">"Servidor"</string>
-    <string name="username_title" msgid="298416796886107970">"Nombre de usuario"</string>
-    <string name="password_title" msgid="8035579335591959021">"Contraseña"</string>
-    <string name="display_name_title" msgid="3730105783656830160">"Nombre visible"</string>
-    <string name="proxy_address_title" msgid="4120361943254795287">"Dirección de servidor proxy saliente"</string>
-    <string name="port_title" msgid="1703586046264385110">"Número de puerto"</string>
-    <string name="transport_title" msgid="1661659138226029178">"Tipo de transporte"</string>
-    <string name="send_keepalive_title" msgid="5319788151608946049">"Enviar mensajes keep-alive"</string>
-    <string name="advanced_settings" msgid="2704644977548662872">"Ajustes opcionales"</string>
-    <string name="auth_username_title" msgid="9002505242616662698">"Nombre de usuario de autenticación"</string>
-    <string name="auth_username_summary" msgid="6346313945275377230">"Nombre de usuario utilizado para la autenticación"</string>
-    <string name="default_preference_summary_username" msgid="8788114717555599222">"&lt;No configurado&gt;"</string>
-    <string name="default_preference_summary_password" msgid="3695366978153175549">"&lt;No configurada&gt;"</string>
-    <string name="default_preference_summary_domain_address" msgid="443247296785732364">"&lt;No configurado&gt;"</string>
-    <string name="display_name_summary" msgid="6749135030093260358">"&lt;Igual que el nombre de usuario&gt;"</string>
-    <string name="optional_summary" msgid="620379377865437488">"&lt;Opcional&gt;"</string>
-    <string name="advanced_settings_show" msgid="2318728080037568529">"▷ Toca aquí para ver todo"</string>
-    <string name="advanced_settings_hide" msgid="6200816937370652083">"▽ Toca aquí para ocultar todo"</string>
-    <string name="all_empty_alert" msgid="6085603517610199098">"Introduce la información de la nueva cuenta de SIP."</string>
-    <string name="empty_alert" msgid="3693655518612836718">"El campo <xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> es obligatorio y no se puede dejar en blanco."</string>
-    <string name="not_a_valid_port" msgid="3664668836663491376">"El número de puerto debe estar comprendido entre 1.000 y 65.534."</string>
-    <string name="no_internet_available" msgid="161720645084325479">"Antes de realizar una llamada SIP, comprueba tu conexión a Internet."</string>
-    <string name="no_wifi_available" msgid="1179092018692306312">"Debes estar conectado a una red Wi-Fi para realizar llamadas SIP (usa la opción de conexiones y redes inalámbricas)."</string>
-    <string name="no_voip" msgid="3366395789297981738">"Llamada SIP no admitida"</string>
-    <string name="sip_system_decide" msgid="197230378376326430">"Automático"</string>
-    <string name="sip_always_send_keepalive" msgid="4986533673960084769">"Enviar siempre"</string>
-    <string name="sip_connection_service_label" msgid="8796284274240316006">"Llamadas SIP integradas"</string>
-</resources>
diff --git a/sip/res/values-et/strings.xml b/sip/res/values-et/strings.xml
deleted file mode 100644
index cdd1a13..0000000
--- a/sip/res/values-et/strings.xml
+++ /dev/null
@@ -1,80 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2014 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7452587325305604702">"SIP-i seaded"</string>
-    <string name="sip_accounts" msgid="7297896885665783239">"SIP-kontod"</string>
-    <string name="sip_accounts_title" msgid="3061686404598143943">"Kontod"</string>
-    <string name="sip_receive_calls" msgid="3403644006618369349">"Sissetulevate kõnede vastuvõtmine"</string>
-    <string name="sip_receive_calls_summary" msgid="5306603671778761443">"Kasutab rohkem akut"</string>
-    <string name="sip_call_options_title" msgid="5027066677561068192">"SIP-helistamise kasutus"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6663105297927456484">"SIP-kõnede tegemine (ainult WiFi)"</string>
-    <string name="sip_call_options_entry_1" msgid="4722647332760934261">"Kõikide kõnede puhul, kui andmesidevõrk on saadaval"</string>
-    <string name="sip_call_options_entry_2" msgid="7338504256051655013">"Ainult SIP-kõnede jaoks"</string>
-    <string name="sip_call_options_wifi_only_entry_1" msgid="922329055414010991">"Kõikide kõnede jaoks"</string>
-    <string name="add_sip_account" msgid="5754758646745144384">"Lisa konto"</string>
-    <string name="remove_sip_account" msgid="8272617403399636513">"Eemalda konto"</string>
-    <string name="sip_account_list" msgid="2596262496233721769">"SIP-kontod"</string>
-    <string name="saving_account" msgid="3390358043846687266">"Konto salvestamine ..."</string>
-    <string name="removing_account" msgid="1544132880414780408">"Konto eemaldamine ..."</string>
-    <string name="sip_menu_save" msgid="4377112554203123060">"Salvesta"</string>
-    <string name="sip_menu_discard" msgid="1883166691772895243">"Loobu"</string>
-    <string name="alert_dialog_close" msgid="1734746505531110706">"Profiili sulgemine"</string>
-    <string name="alert_dialog_ok" msgid="7806760618798687406">"OK"</string>
-    <string name="close_profile" msgid="3756064641769751774">"Sule"</string>
-    <string name="registration_status_checking_status" msgid="884179594507591180">"Oleku kontrollimine ..."</string>
-    <string name="registration_status_registering" msgid="7986331597809521791">"Registreerimine ..."</string>
-    <string name="registration_status_still_trying" msgid="7178623685868766282">"Registreerimine jätkub ..."</string>
-    <string name="registration_status_not_receiving" msgid="3873074208531938401">"Kõnesid ei võeta vastu."</string>
-    <string name="registration_status_no_data" msgid="2987064560116584121">"Konto registreerimine on peatatud, sest puudub Interneti-ühendus."</string>
-    <string name="registration_status_no_wifi_data" msgid="685470618241482948">"Konto registreerimine on peatatud, sest puudub WiFi-ühendus."</string>
-    <string name="registration_status_not_running" msgid="6236403137652262659">"Konto registreerimine ebaõnnestus."</string>
-    <string name="registration_status_done" msgid="6787397199273357721">"Kõnede vastuvõtmine."</string>
-    <string name="registration_status_failed_try_later" msgid="7855389184910312091">"Konto registreerimine ebaõnnestus: (<xliff:g id="REGISTRATION_ERROR_MESSAGE">%s</xliff:g>); hiljem proovitakse uuesti"</string>
-    <string name="registration_status_invalid_credentials" msgid="8896714049938660777">"Konto registreerimine ebaõnnestus: vale kasutajanimi või parool."</string>
-    <string name="registration_status_server_unreachable" msgid="3832339558868965604">"Konto registreerimine ebaõnnestus: kontrollige serveri nime."</string>
-    <string name="third_party_account_summary" msgid="5918779106950859167">"Kontot kasutab praegu kontoomaniku <xliff:g id="ACCOUNT_OWNER">%s</xliff:g> rakendus"</string>
-    <string name="sip_edit_title" msgid="7438891546610820307">"SIP-konto andmed"</string>
-    <string name="sip_edit_new_title" msgid="8394790068979636381">"SIP-konto andmed"</string>
-    <string name="domain_address_title" msgid="8238078615181248579">"Server"</string>
-    <string name="username_title" msgid="298416796886107970">"Kasutajanimi"</string>
-    <string name="password_title" msgid="8035579335591959021">"Parool"</string>
-    <string name="display_name_title" msgid="3730105783656830160">"Kuvatav nimi"</string>
-    <string name="proxy_address_title" msgid="4120361943254795287">"Väljuva puhverserveri aadress"</string>
-    <string name="port_title" msgid="1703586046264385110">"Pordi number"</string>
-    <string name="transport_title" msgid="1661659138226029178">"Protokolli tüüp"</string>
-    <string name="send_keepalive_title" msgid="5319788151608946049">"Ühenduse hoidmise eelistuste saatmine"</string>
-    <string name="advanced_settings" msgid="2704644977548662872">"Valikulised seaded"</string>
-    <string name="auth_username_title" msgid="9002505242616662698">"Autentimise kasutajanimi"</string>
-    <string name="auth_username_summary" msgid="6346313945275377230">"Autentimiseks kasutatav kasutajanimi"</string>
-    <string name="default_preference_summary_username" msgid="8788114717555599222">"&lt;Määramata&gt;"</string>
-    <string name="default_preference_summary_password" msgid="3695366978153175549">"&lt;Määramata&gt;"</string>
-    <string name="default_preference_summary_domain_address" msgid="443247296785732364">"&lt;Määramata&gt;"</string>
-    <string name="display_name_summary" msgid="6749135030093260358">"&lt;Sama kui kasutajanimi&gt;"</string>
-    <string name="optional_summary" msgid="620379377865437488">"&lt;Valikuline&gt;"</string>
-    <string name="advanced_settings_show" msgid="2318728080037568529">"▷ Puudutage kõige kuvamiseks"</string>
-    <string name="advanced_settings_hide" msgid="6200816937370652083">"▽ Puudutage kõige peitmiseks"</string>
-    <string name="all_empty_alert" msgid="6085603517610199098">"Sisestage uue SPI-konto üksikasjad."</string>
-    <string name="empty_alert" msgid="3693655518612836718">"Väli <xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> on kohustuslik, seda ei saa tühjaks jätta."</string>
-    <string name="not_a_valid_port" msgid="3664668836663491376">"Pordi number peab jääma vahemikku 1000 kuni 65 534."</string>
-    <string name="no_internet_available" msgid="161720645084325479">"SIP-kõne tegemiseks kontrollige esmalt Interneti-ühendust."</string>
-    <string name="no_wifi_available" msgid="1179092018692306312">"SIP-kõnede tegemiseks peate olema ühendatud WiFi-võrku (kasutage juhtmeta seadeid ja võrgustikuseadeid)."</string>
-    <string name="no_voip" msgid="3366395789297981738">"SIP-kõnede tegemist ei toetata"</string>
-    <string name="sip_system_decide" msgid="197230378376326430">"Automaatne"</string>
-    <string name="sip_always_send_keepalive" msgid="4986533673960084769">"Saada alati"</string>
-    <string name="sip_connection_service_label" msgid="8796284274240316006">"Sisseehitatud SIP-kõnede tegemine"</string>
-</resources>
diff --git a/sip/res/values-eu/strings.xml b/sip/res/values-eu/strings.xml
deleted file mode 100644
index 5ad7d9c..0000000
--- a/sip/res/values-eu/strings.xml
+++ /dev/null
@@ -1,80 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2014 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7452587325305604702">"SIP ezarpenak"</string>
-    <string name="sip_accounts" msgid="7297896885665783239">"SIP kontuak"</string>
-    <string name="sip_accounts_title" msgid="3061686404598143943">"Kontuak"</string>
-    <string name="sip_receive_calls" msgid="3403644006618369349">"Jaso deiak"</string>
-    <string name="sip_receive_calls_summary" msgid="5306603671778761443">"Bateria gehiago erabiltzen du"</string>
-    <string name="sip_call_options_title" msgid="5027066677561068192">"Erabili SIP deiak"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6663105297927456484">"Erabili SIP deiak (wifi bidez soilik)"</string>
-    <string name="sip_call_options_entry_1" msgid="4722647332760934261">"Dei guztietan datu-sarea erabilgarri dagoenean"</string>
-    <string name="sip_call_options_entry_2" msgid="7338504256051655013">"SIP deietan soilik"</string>
-    <string name="sip_call_options_wifi_only_entry_1" msgid="922329055414010991">"Dei guztietan"</string>
-    <string name="add_sip_account" msgid="5754758646745144384">"Gehitu kontu bat"</string>
-    <string name="remove_sip_account" msgid="8272617403399636513">"Kendu kontua"</string>
-    <string name="sip_account_list" msgid="2596262496233721769">"SIP kontuak"</string>
-    <string name="saving_account" msgid="3390358043846687266">"Kontua gordetzen…"</string>
-    <string name="removing_account" msgid="1544132880414780408">"Kontua kentzen…"</string>
-    <string name="sip_menu_save" msgid="4377112554203123060">"Gorde"</string>
-    <string name="sip_menu_discard" msgid="1883166691772895243">"Baztertu"</string>
-    <string name="alert_dialog_close" msgid="1734746505531110706">"Itxi profila"</string>
-    <string name="alert_dialog_ok" msgid="7806760618798687406">"Ados"</string>
-    <string name="close_profile" msgid="3756064641769751774">"Itxi"</string>
-    <string name="registration_status_checking_status" msgid="884179594507591180">"Egoera egiaztatzen…"</string>
-    <string name="registration_status_registering" msgid="7986331597809521791">"Erregistratzen…"</string>
-    <string name="registration_status_still_trying" msgid="7178623685868766282">"Oraindik saiatzen…"</string>
-    <string name="registration_status_not_receiving" msgid="3873074208531938401">"Ez da deirik jasotzen ari."</string>
-    <string name="registration_status_no_data" msgid="2987064560116584121">"Kontua erregistratzeko prozesua gelditu da ez zaudelako konektatuta Internetera."</string>
-    <string name="registration_status_no_wifi_data" msgid="685470618241482948">"Kontua erregistratzeko prozesua gelditu da ez dagoelako wifi-konexiorik."</string>
-    <string name="registration_status_not_running" msgid="6236403137652262659">"Ez da kontua erregistratu."</string>
-    <string name="registration_status_done" msgid="6787397199273357721">"Deiak jasotzen."</string>
-    <string name="registration_status_failed_try_later" msgid="7855389184910312091">"Ez da kontua erregistratu: (<xliff:g id="REGISTRATION_ERROR_MESSAGE">%s</xliff:g>). Geroago saiatuko gara berriro."</string>
-    <string name="registration_status_invalid_credentials" msgid="8896714049938660777">"Ez da kontua erregistratu: erabiltzaile-izena edo/eta pasahitza ez dira zuzenak."</string>
-    <string name="registration_status_server_unreachable" msgid="3832339558868965604">"Ez da kontua erregistratu: egiaztatu zerbitzari-izena."</string>
-    <string name="third_party_account_summary" msgid="5918779106950859167">"Une honetan <xliff:g id="ACCOUNT_OWNER">%s</xliff:g> jabearen aplikazioa erabiltzen ari da kontua."</string>
-    <string name="sip_edit_title" msgid="7438891546610820307">"SIP kontuaren xehetasunak"</string>
-    <string name="sip_edit_new_title" msgid="8394790068979636381">"SIP kontuaren xehetasunak"</string>
-    <string name="domain_address_title" msgid="8238078615181248579">"Zerbitzaria"</string>
-    <string name="username_title" msgid="298416796886107970">"Erabiltzaile-izena"</string>
-    <string name="password_title" msgid="8035579335591959021">"Pasahitza"</string>
-    <string name="display_name_title" msgid="3730105783656830160">"Bistaratzeko izena"</string>
-    <string name="proxy_address_title" msgid="4120361943254795287">"Irteerako proxyaren helbidea"</string>
-    <string name="port_title" msgid="1703586046264385110">"Ataka-zenbakia"</string>
-    <string name="transport_title" msgid="1661659138226029178">"Garraio mota"</string>
-    <string name="send_keepalive_title" msgid="5319788151608946049">"Bidali konexioa mantentzeko mezua"</string>
-    <string name="advanced_settings" msgid="2704644977548662872">"Aukerako ezarpenak"</string>
-    <string name="auth_username_title" msgid="9002505242616662698">"Autentifikatzeko erabiltzaile-izena"</string>
-    <string name="auth_username_summary" msgid="6346313945275377230">"Autentifikatzeko erabili den erabiltzaile-izena"</string>
-    <string name="default_preference_summary_username" msgid="8788114717555599222">"&lt;Ezarri gabe&gt;"</string>
-    <string name="default_preference_summary_password" msgid="3695366978153175549">"&lt;Ezarri gabe&gt;"</string>
-    <string name="default_preference_summary_domain_address" msgid="443247296785732364">"&lt;Ezarri gabe&gt;"</string>
-    <string name="display_name_summary" msgid="6749135030093260358">"&lt;Erabiltzaile-izenaren berdina&gt;"</string>
-    <string name="optional_summary" msgid="620379377865437488">"&lt;Aukerakoa&gt;"</string>
-    <string name="advanced_settings_show" msgid="2318728080037568529">"▷ Guztiak erakusteko, ukitu hau"</string>
-    <string name="advanced_settings_hide" msgid="6200816937370652083">"▽ Guztiak ezkutatzeko, ukitu hau"</string>
-    <string name="all_empty_alert" msgid="6085603517610199098">"Idatzi SIP kontu berriaren xehetasunak."</string>
-    <string name="empty_alert" msgid="3693655518612836718">"<xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> behar da eta ezin da hutsik utzi."</string>
-    <string name="not_a_valid_port" msgid="3664668836663491376">"Ataka-zenbakiak 1000 eta 65534 artean egon behar luke."</string>
-    <string name="no_internet_available" msgid="161720645084325479">"SIP deiak egiteko, egiaztatu Internetera konektatuta zaudela."</string>
-    <string name="no_wifi_available" msgid="1179092018692306312">"Wifi-sare batera konektatuta egon behar zara SIP deiak egiteko (erabili hari gabekoen eta sareen ezarpenak)."</string>
-    <string name="no_voip" msgid="3366395789297981738">"SIP deiak ez dira onartzen"</string>
-    <string name="sip_system_decide" msgid="197230378376326430">"Automatikoa"</string>
-    <string name="sip_always_send_keepalive" msgid="4986533673960084769">"Bidali beti"</string>
-    <string name="sip_connection_service_label" msgid="8796284274240316006">"SIP dei integratuak"</string>
-</resources>
diff --git a/sip/res/values-fa/strings.xml b/sip/res/values-fa/strings.xml
deleted file mode 100644
index e2843bc..0000000
--- a/sip/res/values-fa/strings.xml
+++ /dev/null
@@ -1,80 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2014 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7452587325305604702">"‏تنظیمات SIP"</string>
-    <string name="sip_accounts" msgid="7297896885665783239">"‏حساب‌های SIP"</string>
-    <string name="sip_accounts_title" msgid="3061686404598143943">"حساب‌ها"</string>
-    <string name="sip_receive_calls" msgid="3403644006618369349">"دریافت تماس‌های ورودی"</string>
-    <string name="sip_receive_calls_summary" msgid="5306603671778761443">"از باتری بیشتری استفاده می‌کند"</string>
-    <string name="sip_call_options_title" msgid="5027066677561068192">"‏استفاده از تماس SIP"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6663105297927456484">"‏استفاده از تماس SIP (فقط Wi-Fi)"</string>
-    <string name="sip_call_options_entry_1" msgid="4722647332760934261">"برای همه تماس‌ها وقتی شبکه داده در دسترس است"</string>
-    <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="sip_account_list" msgid="2596262496233721769">"‏حساب‌های SIP"</string>
-    <string name="saving_account" msgid="3390358043846687266">"در حال ذخیره حساب..."</string>
-    <string name="removing_account" msgid="1544132880414780408">"در حال حذف حساب..."</string>
-    <string name="sip_menu_save" msgid="4377112554203123060">"ذخیره‌"</string>
-    <string name="sip_menu_discard" msgid="1883166691772895243">"صرف‌نظر کردن"</string>
-    <string name="alert_dialog_close" msgid="1734746505531110706">"بستن نمایه"</string>
-    <string name="alert_dialog_ok" msgid="7806760618798687406">"تأیید"</string>
-    <string name="close_profile" msgid="3756064641769751774">"بستن"</string>
-    <string name="registration_status_checking_status" msgid="884179594507591180">"در حال بررسی وضعیت..."</string>
-    <string name="registration_status_registering" msgid="7986331597809521791">"در حال ثبت..."</string>
-    <string name="registration_status_still_trying" msgid="7178623685868766282">"هنوز در حال تلاش..."</string>
-    <string name="registration_status_not_receiving" msgid="3873074208531938401">"تماس‌های دریافتی موجود نیست."</string>
-    <string name="registration_status_no_data" msgid="2987064560116584121">"ثبت حساب متوقف شد چون اتصال اینترنتی ندارید"</string>
-    <string name="registration_status_no_wifi_data" msgid="685470618241482948">"‏ثبت حساب به دلیل عدم وجود اتصال Wi-Fi متوقف شد."</string>
-    <string name="registration_status_not_running" msgid="6236403137652262659">"ثبت حساب ناموفق بود."</string>
-    <string name="registration_status_done" msgid="6787397199273357721">"در حال دریافت تماس‌ها."</string>
-    <string name="registration_status_failed_try_later" msgid="7855389184910312091">"ثبت حساب ناموفق بود: (<xliff:g id="REGISTRATION_ERROR_MESSAGE">%s</xliff:g>)، بعداً امتحان می‌شود"</string>
-    <string name="registration_status_invalid_credentials" msgid="8896714049938660777">"ثبت حساب ناموفق بود: نام کاربری یا گذرواژه نادرست است."</string>
-    <string name="registration_status_server_unreachable" msgid="3832339558868965604">"ثبت حساب ناموفق: نام سرور را بررسی کنید."</string>
-    <string name="third_party_account_summary" msgid="5918779106950859167">"این حساب اکنون توسط برنامه <xliff:g id="ACCOUNT_OWNER">%s</xliff:g> در حال استفاده است."</string>
-    <string name="sip_edit_title" msgid="7438891546610820307">"‏جزئیات حساب SIP"</string>
-    <string name="sip_edit_new_title" msgid="8394790068979636381">"‏جزئیات حساب SIP"</string>
-    <string name="domain_address_title" msgid="8238078615181248579">"سرور"</string>
-    <string name="username_title" msgid="298416796886107970">"نام کاربری"</string>
-    <string name="password_title" msgid="8035579335591959021">"گذرواژه"</string>
-    <string name="display_name_title" msgid="3730105783656830160">"نام نمایشی"</string>
-    <string name="proxy_address_title" msgid="4120361943254795287">"آدرس پروکسی خارج از محدوده"</string>
-    <string name="port_title" msgid="1703586046264385110">"شماره درگاه"</string>
-    <string name="transport_title" msgid="1661659138226029178">"نوع حمل‌ونقل"</string>
-    <string name="send_keepalive_title" msgid="5319788151608946049">"ارسال حفظ اتصال"</string>
-    <string name="advanced_settings" msgid="2704644977548662872">"تنظیمات اختیاری"</string>
-    <string name="auth_username_title" msgid="9002505242616662698">"نام کاربری برای اصالت‌سنجی"</string>
-    <string name="auth_username_summary" msgid="6346313945275377230">"نام کاربری مورد استفاده برای اصالت‌سنجی"</string>
-    <string name="default_preference_summary_username" msgid="8788114717555599222">"‏&lt;تنظیم نشده&gt;"</string>
-    <string name="default_preference_summary_password" msgid="3695366978153175549">"‏&lt;تنظیم نشده&gt;"</string>
-    <string name="default_preference_summary_domain_address" msgid="443247296785732364">"‏&lt;تنظیم نشده&gt;"</string>
-    <string name="display_name_summary" msgid="6749135030093260358">"&lt;همان نام کاربری&gt;"</string>
-    <string name="optional_summary" msgid="620379377865437488">"‏&lt;اختیاری&gt;"</string>
-    <string name="advanced_settings_show" msgid="2318728080037568529">"▷ جهت نمایش همه لمس کنید"</string>
-    <string name="advanced_settings_hide" msgid="6200816937370652083">"▽ برای پنهان کردن همه لمس کنید"</string>
-    <string name="all_empty_alert" msgid="6085603517610199098">"‏جزئیات حساب جدید SIP را وارد کنید."</string>
-    <string name="empty_alert" msgid="3693655518612836718">"<xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> ضروری است و نباید خالی بماند."</string>
-    <string name="not_a_valid_port" msgid="3664668836663491376">"شماره درگاه باید بین ۱۰۰۰ و ۶۵۵۳۴ باشد."</string>
-    <string name="no_internet_available" msgid="161720645084325479">"‏برای برقراری تماس SIP، ابتدا اتصال اینترنتتان را بررسی کنید."</string>
-    <string name="no_wifi_available" msgid="1179092018692306312">"‏برای برقراری تماس‌های SIP باید به شبکه Wi-Fi متصل باشید (از تنظیمات بی‌سیم و شبکه استفاده کنید)."</string>
-    <string name="no_voip" msgid="3366395789297981738">"‏تماس SIP پشتیبانی نمی‌شود"</string>
-    <string name="sip_system_decide" msgid="197230378376326430">"خودکار"</string>
-    <string name="sip_always_send_keepalive" msgid="4986533673960084769">"همیشه ارسال شود"</string>
-    <string name="sip_connection_service_label" msgid="8796284274240316006">"‏تماس SIP داخلی"</string>
-</resources>
diff --git a/sip/res/values-fi/strings.xml b/sip/res/values-fi/strings.xml
deleted file mode 100644
index ebaf134..0000000
--- a/sip/res/values-fi/strings.xml
+++ /dev/null
@@ -1,80 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2014 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7452587325305604702">"SIP-asetukset"</string>
-    <string name="sip_accounts" msgid="7297896885665783239">"SIP-tilit"</string>
-    <string name="sip_accounts_title" msgid="3061686404598143943">"Tilit"</string>
-    <string name="sip_receive_calls" msgid="3403644006618369349">"Vastaanota saapuvia puheluita"</string>
-    <string name="sip_receive_calls_summary" msgid="5306603671778761443">"Käyttää enemmän akkua"</string>
-    <string name="sip_call_options_title" msgid="5027066677561068192">"Käytä SIP-puheluita"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6663105297927456484">"Käytä SIP-puheluita (vain Wi-Fi)"</string>
-    <string name="sip_call_options_entry_1" msgid="4722647332760934261">"Kaikki puhelut, kun verkko on käytettävissä"</string>
-    <string name="sip_call_options_entry_2" msgid="7338504256051655013">"Vain SIP-puhelut"</string>
-    <string name="sip_call_options_wifi_only_entry_1" msgid="922329055414010991">"Kaikki puhelut"</string>
-    <string name="add_sip_account" msgid="5754758646745144384">"Lisää tili"</string>
-    <string name="remove_sip_account" msgid="8272617403399636513">"Poista tili"</string>
-    <string name="sip_account_list" msgid="2596262496233721769">"SIP-tilit"</string>
-    <string name="saving_account" msgid="3390358043846687266">"Tiliä tallennetaan…"</string>
-    <string name="removing_account" msgid="1544132880414780408">"Tiliä poistetaan…"</string>
-    <string name="sip_menu_save" msgid="4377112554203123060">"Tallenna"</string>
-    <string name="sip_menu_discard" msgid="1883166691772895243">"Hylkää"</string>
-    <string name="alert_dialog_close" msgid="1734746505531110706">"Sulje profiili"</string>
-    <string name="alert_dialog_ok" msgid="7806760618798687406">"OK"</string>
-    <string name="close_profile" msgid="3756064641769751774">"Sulje"</string>
-    <string name="registration_status_checking_status" msgid="884179594507591180">"Tarkistetaan tilaa…"</string>
-    <string name="registration_status_registering" msgid="7986331597809521791">"Rekisteröidään…"</string>
-    <string name="registration_status_still_trying" msgid="7178623685868766282">"Yritetään edelleen…"</string>
-    <string name="registration_status_not_receiving" msgid="3873074208531938401">"Ei vastaanota puheluita."</string>
-    <string name="registration_status_no_data" msgid="2987064560116584121">"Tilin rekisteröinti lopetettiin, koska internetyhteyttä ei ole."</string>
-    <string name="registration_status_no_wifi_data" msgid="685470618241482948">"Tilin rekisteröinti lopetettiin, koska Wi-Fi-yhteyttä ei ole."</string>
-    <string name="registration_status_not_running" msgid="6236403137652262659">"Tilin rekisteröinti epäonnistui."</string>
-    <string name="registration_status_done" msgid="6787397199273357721">"Vastaanottaa puheluita."</string>
-    <string name="registration_status_failed_try_later" msgid="7855389184910312091">"Tilin rekisteröinti epäonnistui: (<xliff:g id="REGISTRATION_ERROR_MESSAGE">%s</xliff:g>). Yritetään myöhemmin uudelleen."</string>
-    <string name="registration_status_invalid_credentials" msgid="8896714049938660777">"Tilin rekisteröinti epäonnistui: virheellinen käyttäjänimi tai salasana."</string>
-    <string name="registration_status_server_unreachable" msgid="3832339558868965604">"Tilin rekisteröinti epäonnistui: tarkista palvelimen nimi."</string>
-    <string name="third_party_account_summary" msgid="5918779106950859167">"Tiliä käyttää tällä hetkellä sovellus <xliff:g id="ACCOUNT_OWNER">%s</xliff:g>."</string>
-    <string name="sip_edit_title" msgid="7438891546610820307">"SIP-tilin tiedot"</string>
-    <string name="sip_edit_new_title" msgid="8394790068979636381">"SIP-tilin tiedot"</string>
-    <string name="domain_address_title" msgid="8238078615181248579">"Palvelin"</string>
-    <string name="username_title" msgid="298416796886107970">"Käyttäjätunnus"</string>
-    <string name="password_title" msgid="8035579335591959021">"Salasana"</string>
-    <string name="display_name_title" msgid="3730105783656830160">"Näyttönimi"</string>
-    <string name="proxy_address_title" msgid="4120361943254795287">"Lähettävän välityspalvelimen osoite"</string>
-    <string name="port_title" msgid="1703586046264385110">"Porttinumero"</string>
-    <string name="transport_title" msgid="1661659138226029178">"Siirtotyyppi"</string>
-    <string name="send_keepalive_title" msgid="5319788151608946049">"Lähetä tarkistusviesti"</string>
-    <string name="advanced_settings" msgid="2704644977548662872">"Lisäasetukset"</string>
-    <string name="auth_username_title" msgid="9002505242616662698">"Todennuksessa käytettävä käyttäjänimi"</string>
-    <string name="auth_username_summary" msgid="6346313945275377230">"Käyttäjänimeä käytetään todennukseen"</string>
-    <string name="default_preference_summary_username" msgid="8788114717555599222">"&lt;Ei määritetty&gt;"</string>
-    <string name="default_preference_summary_password" msgid="3695366978153175549">"&lt;Ei määritetty&gt;"</string>
-    <string name="default_preference_summary_domain_address" msgid="443247296785732364">"&lt;Ei määritetty&gt;"</string>
-    <string name="display_name_summary" msgid="6749135030093260358">"&lt;Sama kuin käyttäjänimi&gt;"</string>
-    <string name="optional_summary" msgid="620379377865437488">"&lt;Valinnainen&gt;"</string>
-    <string name="advanced_settings_show" msgid="2318728080037568529">"▷ Näytä kaikki koskettamalla"</string>
-    <string name="advanced_settings_hide" msgid="6200816937370652083">"▽ Piilota kaikki koskettamalla"</string>
-    <string name="all_empty_alert" msgid="6085603517610199098">"Anna uuden SIP-tilin tiedot."</string>
-    <string name="empty_alert" msgid="3693655518612836718">"<xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> on pakollinen, joten se ei voi olla tyhjä."</string>
-    <string name="not_a_valid_port" msgid="3664668836663491376">"Porttinumeron tulee olla 1 000 – 65 534."</string>
-    <string name="no_internet_available" msgid="161720645084325479">"Jos haluat soittaa SIP-puhelun, tarkista ensin internetyhteytesi."</string>
-    <string name="no_wifi_available" msgid="1179092018692306312">"Sinun on oltava yhteydessä Wi-Fi-verkkoon, jotta voit soittaa SIP-puheluita (vaihda asetus Langaton verkko- ja verkkoasetuksissa)."</string>
-    <string name="no_voip" msgid="3366395789297981738">"SIP-puheluita ei tueta"</string>
-    <string name="sip_system_decide" msgid="197230378376326430">"Automaattinen"</string>
-    <string name="sip_always_send_keepalive" msgid="4986533673960084769">"Lähetä aina"</string>
-    <string name="sip_connection_service_label" msgid="8796284274240316006">"Sisäänrakennetut SIP-puhelut"</string>
-</resources>
diff --git a/sip/res/values-fr-rCA/strings.xml b/sip/res/values-fr-rCA/strings.xml
deleted file mode 100644
index 4c5a0ad..0000000
--- a/sip/res/values-fr-rCA/strings.xml
+++ /dev/null
@@ -1,80 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2014 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7452587325305604702">"Paramètres SIP"</string>
-    <string name="sip_accounts" msgid="7297896885665783239">"Comptes SIP"</string>
-    <string name="sip_accounts_title" msgid="3061686404598143943">"Comptes"</string>
-    <string name="sip_receive_calls" msgid="3403644006618369349">"Recevoir les appels"</string>
-    <string name="sip_receive_calls_summary" msgid="5306603671778761443">"Consomme davantage d\'énergie"</string>
-    <string name="sip_call_options_title" msgid="5027066677561068192">"Utiliser les appels SIP"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6663105297927456484">"Utiliser les appels SIP (Wi-Fi seulement)"</string>
-    <string name="sip_call_options_entry_1" msgid="4722647332760934261">"Pour tous les appels lorsqu\'un réseau de données est accessible"</string>
-    <string name="sip_call_options_entry_2" msgid="7338504256051655013">"Uniquement pour les appels SIP"</string>
-    <string name="sip_call_options_wifi_only_entry_1" msgid="922329055414010991">"Pour tous les appels"</string>
-    <string name="add_sip_account" msgid="5754758646745144384">"Ajouter un compte"</string>
-    <string name="remove_sip_account" msgid="8272617403399636513">"Supprimer le compte"</string>
-    <string name="sip_account_list" msgid="2596262496233721769">"Comptes SIP"</string>
-    <string name="saving_account" msgid="3390358043846687266">"Enregistrement du compte en cours…"</string>
-    <string name="removing_account" msgid="1544132880414780408">"Suppression du compte en cours..."</string>
-    <string name="sip_menu_save" msgid="4377112554203123060">"Enregistrer"</string>
-    <string name="sip_menu_discard" msgid="1883166691772895243">"Supprimer"</string>
-    <string name="alert_dialog_close" msgid="1734746505531110706">"Fermer le profil"</string>
-    <string name="alert_dialog_ok" msgid="7806760618798687406">"OK"</string>
-    <string name="close_profile" msgid="3756064641769751774">"Fermer"</string>
-    <string name="registration_status_checking_status" msgid="884179594507591180">"Vérification de l\'état en cours..."</string>
-    <string name="registration_status_registering" msgid="7986331597809521791">"Enregistrement en cours…"</string>
-    <string name="registration_status_still_trying" msgid="7178623685868766282">"Tentative en cours…"</string>
-    <string name="registration_status_not_receiving" msgid="3873074208531938401">"Réception d\'appels impossible."</string>
-    <string name="registration_status_no_data" msgid="2987064560116584121">"L\'enregistrement du compte a été interrompu, car il n\'y a pas de connexion Internet."</string>
-    <string name="registration_status_no_wifi_data" msgid="685470618241482948">"La procédure d\'enregistrement du compte a été interrompue, car il n\'y a aucune connexion Wi-Fi."</string>
-    <string name="registration_status_not_running" msgid="6236403137652262659">"Échec de l\'enregistrement du compte."</string>
-    <string name="registration_status_done" msgid="6787397199273357721">"Réception d\'appels."</string>
-    <string name="registration_status_failed_try_later" msgid="7855389184910312091">"Échec de l\'enregistrement du compte : <xliff:g id="REGISTRATION_ERROR_MESSAGE">%s</xliff:g>. Une nouvelle tentative sera effectuée plus tard."</string>
-    <string name="registration_status_invalid_credentials" msgid="8896714049938660777">"Échec de l\'enregistrement du compte : nom d\'utilisateur ou mot de passe incorrect."</string>
-    <string name="registration_status_server_unreachable" msgid="3832339558868965604">"Échec de l\'enregistrement du compte : veuillez vérifier le nom du serveur."</string>
-    <string name="third_party_account_summary" msgid="5918779106950859167">"Ce compte est actuellement utilisé dans l\'application <xliff:g id="ACCOUNT_OWNER">%s</xliff:g>."</string>
-    <string name="sip_edit_title" msgid="7438891546610820307">"Détails du compte SIP"</string>
-    <string name="sip_edit_new_title" msgid="8394790068979636381">"Détails du compte SIP"</string>
-    <string name="domain_address_title" msgid="8238078615181248579">"Serveur"</string>
-    <string name="username_title" msgid="298416796886107970">"Nom d\'utilisateur"</string>
-    <string name="password_title" msgid="8035579335591959021">"Mot de passe"</string>
-    <string name="display_name_title" msgid="3730105783656830160">"Nom à afficher"</string>
-    <string name="proxy_address_title" msgid="4120361943254795287">"Adresse de serveur mandataire sortant"</string>
-    <string name="port_title" msgid="1703586046264385110">"Numéro de port"</string>
-    <string name="transport_title" msgid="1661659138226029178">"Type de transport"</string>
-    <string name="send_keepalive_title" msgid="5319788151608946049">"Envoyer un message keep-alive"</string>
-    <string name="advanced_settings" msgid="2704644977548662872">"Paramètres facultatifs"</string>
-    <string name="auth_username_title" msgid="9002505242616662698">"Nom d\'utilisateur d\'authentification"</string>
-    <string name="auth_username_summary" msgid="6346313945275377230">"Nom d\'utilisateur utilisé pour l\'authentification"</string>
-    <string name="default_preference_summary_username" msgid="8788114717555599222">"&lt;Non défini&gt;"</string>
-    <string name="default_preference_summary_password" msgid="3695366978153175549">"&lt;Non défini&gt;"</string>
-    <string name="default_preference_summary_domain_address" msgid="443247296785732364">"&lt;Non défini&gt;"</string>
-    <string name="display_name_summary" msgid="6749135030093260358">"&lt;Identique au nom d\'utilisateur&gt;"</string>
-    <string name="optional_summary" msgid="620379377865437488">"&lt;Facultatif&gt;"</string>
-    <string name="advanced_settings_show" msgid="2318728080037568529">"▷ Touchez ici pour tout afficher"</string>
-    <string name="advanced_settings_hide" msgid="6200816937370652083">"Touchez ▽ pour tout masquer"</string>
-    <string name="all_empty_alert" msgid="6085603517610199098">"Entrez les détails du nouveau compte SIP."</string>
-    <string name="empty_alert" msgid="3693655518612836718">"Le champ « <xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> » est obligatoire. Veuillez le remplir."</string>
-    <string name="not_a_valid_port" msgid="3664668836663491376">"Le numéro de port doit être compris entre 1000 et 65534."</string>
-    <string name="no_internet_available" msgid="161720645084325479">"Pour faire un appel SIP, veuillez d\'abord vérifier votre connexion Internet."</string>
-    <string name="no_wifi_available" msgid="1179092018692306312">"Vous devez être connecté à un réseau Wi-Fi pour faire des appels SIP (utilisez les paramètres « Sans fil et réseaux »)."</string>
-    <string name="no_voip" msgid="3366395789297981738">"Les appels SIP ne sont pas acceptés."</string>
-    <string name="sip_system_decide" msgid="197230378376326430">"Automatique"</string>
-    <string name="sip_always_send_keepalive" msgid="4986533673960084769">"Toujours envoyer"</string>
-    <string name="sip_connection_service_label" msgid="8796284274240316006">"Appels SIP intégrés"</string>
-</resources>
diff --git a/sip/res/values-fr/strings.xml b/sip/res/values-fr/strings.xml
deleted file mode 100644
index 94156db..0000000
--- a/sip/res/values-fr/strings.xml
+++ /dev/null
@@ -1,80 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2014 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7452587325305604702">"Paramètres SIP"</string>
-    <string name="sip_accounts" msgid="7297896885665783239">"Comptes SIP"</string>
-    <string name="sip_accounts_title" msgid="3061686404598143943">"Comptes"</string>
-    <string name="sip_receive_calls" msgid="3403644006618369349">"Recevoir les appels"</string>
-    <string name="sip_receive_calls_summary" msgid="5306603671778761443">"Consomme davantage de batterie"</string>
-    <string name="sip_call_options_title" msgid="5027066677561068192">"Utiliser les appels SIP"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6663105297927456484">"Utiliser les appels SIP (Wi-Fi seulement)"</string>
-    <string name="sip_call_options_entry_1" msgid="4722647332760934261">"Pour tous les appels lorsqu\'un réseau de données est disponible"</string>
-    <string name="sip_call_options_entry_2" msgid="7338504256051655013">"Pour les appels SIP seulement"</string>
-    <string name="sip_call_options_wifi_only_entry_1" msgid="922329055414010991">"Pour tous les appels"</string>
-    <string name="add_sip_account" msgid="5754758646745144384">"Ajouter un compte"</string>
-    <string name="remove_sip_account" msgid="8272617403399636513">"Supprimer le compte"</string>
-    <string name="sip_account_list" msgid="2596262496233721769">"Comptes SIP"</string>
-    <string name="saving_account" msgid="3390358043846687266">"Enregistrement du compte en cours…"</string>
-    <string name="removing_account" msgid="1544132880414780408">"Suppression du compte en cours…"</string>
-    <string name="sip_menu_save" msgid="4377112554203123060">"Enregistrer"</string>
-    <string name="sip_menu_discard" msgid="1883166691772895243">"Supprimer"</string>
-    <string name="alert_dialog_close" msgid="1734746505531110706">"Fermer le profil"</string>
-    <string name="alert_dialog_ok" msgid="7806760618798687406">"OK"</string>
-    <string name="close_profile" msgid="3756064641769751774">"Fermer"</string>
-    <string name="registration_status_checking_status" msgid="884179594507591180">"Vérification de l\'état en cours..."</string>
-    <string name="registration_status_registering" msgid="7986331597809521791">"Enregistrement en cours…"</string>
-    <string name="registration_status_still_trying" msgid="7178623685868766282">"Tentative en cours…"</string>
-    <string name="registration_status_not_receiving" msgid="3873074208531938401">"Réception d\'appels impossible."</string>
-    <string name="registration_status_no_data" msgid="2987064560116584121">"L\'enregistrement du compte a été interrompu, car il n\'y a pas de connexion Internet."</string>
-    <string name="registration_status_no_wifi_data" msgid="685470618241482948">"La procédure d\'enregistrement du compte a été interrompue, car il n\'y a aucune connexion Wi-Fi."</string>
-    <string name="registration_status_not_running" msgid="6236403137652262659">"Échec de l\'enregistrement du compte."</string>
-    <string name="registration_status_done" msgid="6787397199273357721">"Réception d\'appels."</string>
-    <string name="registration_status_failed_try_later" msgid="7855389184910312091">"Échec de l\'enregistrement du compte : <xliff:g id="REGISTRATION_ERROR_MESSAGE">%s</xliff:g>. Une nouvelle tentative sera effectuée plus tard."</string>
-    <string name="registration_status_invalid_credentials" msgid="8896714049938660777">"Échec de l\'enregistrement du compte : nom d\'utilisateur ou mot de passe incorrect."</string>
-    <string name="registration_status_server_unreachable" msgid="3832339558868965604">"Échec de l\'enregistrement du compte : veuillez vérifier le nom du serveur."</string>
-    <string name="third_party_account_summary" msgid="5918779106950859167">"Ce compte est actuellement utilisé via l\'application <xliff:g id="ACCOUNT_OWNER">%s</xliff:g>."</string>
-    <string name="sip_edit_title" msgid="7438891546610820307">"Détails du compte SIP"</string>
-    <string name="sip_edit_new_title" msgid="8394790068979636381">"Détails du compte SIP"</string>
-    <string name="domain_address_title" msgid="8238078615181248579">"Serveur"</string>
-    <string name="username_title" msgid="298416796886107970">"Nom d\'utilisateur"</string>
-    <string name="password_title" msgid="8035579335591959021">"Mot de passe"</string>
-    <string name="display_name_title" msgid="3730105783656830160">"Nom à afficher"</string>
-    <string name="proxy_address_title" msgid="4120361943254795287">"Adresse de proxy sortant"</string>
-    <string name="port_title" msgid="1703586046264385110">"Numéro de port"</string>
-    <string name="transport_title" msgid="1661659138226029178">"Type de transport"</string>
-    <string name="send_keepalive_title" msgid="5319788151608946049">"Envoyer un message keepalive"</string>
-    <string name="advanced_settings" msgid="2704644977548662872">"Paramètres facultatifs"</string>
-    <string name="auth_username_title" msgid="9002505242616662698">"Nom d\'utilisateur d\'authentification"</string>
-    <string name="auth_username_summary" msgid="6346313945275377230">"Nom d\'utilisateur utilisé pour l\'authentification"</string>
-    <string name="default_preference_summary_username" msgid="8788114717555599222">"&lt;Non défini&gt;"</string>
-    <string name="default_preference_summary_password" msgid="3695366978153175549">"&lt;Non défini&gt;"</string>
-    <string name="default_preference_summary_domain_address" msgid="443247296785732364">"&lt;Non défini&gt;"</string>
-    <string name="display_name_summary" msgid="6749135030093260358">"&lt;Identique au nom d\'utilisateur&gt;"</string>
-    <string name="optional_summary" msgid="620379377865437488">"&lt;Facultatif&gt;"</string>
-    <string name="advanced_settings_show" msgid="2318728080037568529">"▷ Appuyer ici pour tout afficher"</string>
-    <string name="advanced_settings_hide" msgid="6200816937370652083">"▽ Appuyer ici pour tout masquer"</string>
-    <string name="all_empty_alert" msgid="6085603517610199098">"Saisissez les informations concernant le nouveau compte SIP."</string>
-    <string name="empty_alert" msgid="3693655518612836718">"Le champ \"<xliff:g id="INPUT_FIELD_NAME">%s</xliff:g>\" est obligatoire. Veuillez le renseigner."</string>
-    <string name="not_a_valid_port" msgid="3664668836663491376">"Le numéro de port doit être compris entre 1000 et 65534."</string>
-    <string name="no_internet_available" msgid="161720645084325479">"Pour passer un appel SIP, veuillez d\'abord vérifier votre connexion Internet."</string>
-    <string name="no_wifi_available" msgid="1179092018692306312">"Vous devez être connecté à un réseau Wi-Fi pour passer des appels SIP (utilisez les paramètres \"Sans fil et réseaux\")."</string>
-    <string name="no_voip" msgid="3366395789297981738">"Les appels SIP ne sont pas acceptés."</string>
-    <string name="sip_system_decide" msgid="197230378376326430">"Automatique"</string>
-    <string name="sip_always_send_keepalive" msgid="4986533673960084769">"Toujours envoyer"</string>
-    <string name="sip_connection_service_label" msgid="8796284274240316006">"Appels SIP intégrés"</string>
-</resources>
diff --git a/sip/res/values-gl/strings.xml b/sip/res/values-gl/strings.xml
deleted file mode 100644
index a6c15d5..0000000
--- a/sip/res/values-gl/strings.xml
+++ /dev/null
@@ -1,80 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2014 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7452587325305604702">"Configuración SIP"</string>
-    <string name="sip_accounts" msgid="7297896885665783239">"Contas SIP"</string>
-    <string name="sip_accounts_title" msgid="3061686404598143943">"Contas"</string>
-    <string name="sip_receive_calls" msgid="3403644006618369349">"Recibir chamadas entrantes"</string>
-    <string name="sip_receive_calls_summary" msgid="5306603671778761443">"Consome máis batería"</string>
-    <string name="sip_call_options_title" msgid="5027066677561068192">"Utilizar chamadas SIP"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6663105297927456484">"Utilizar chamadas SIP (só por wifi)"</string>
-    <string name="sip_call_options_entry_1" msgid="4722647332760934261">"Para todas as chamadas cando a rede de datos está dispoñible"</string>
-    <string name="sip_call_options_entry_2" msgid="7338504256051655013">"Só para chamadas SIP"</string>
-    <string name="sip_call_options_wifi_only_entry_1" msgid="922329055414010991">"Para todas as chamadas"</string>
-    <string name="add_sip_account" msgid="5754758646745144384">"Engadir conta"</string>
-    <string name="remove_sip_account" msgid="8272617403399636513">"Quitar conta"</string>
-    <string name="sip_account_list" msgid="2596262496233721769">"Contas SIP"</string>
-    <string name="saving_account" msgid="3390358043846687266">"Gardando a conta..."</string>
-    <string name="removing_account" msgid="1544132880414780408">"Eliminando a conta..."</string>
-    <string name="sip_menu_save" msgid="4377112554203123060">"Gardar"</string>
-    <string name="sip_menu_discard" msgid="1883166691772895243">"Descartar"</string>
-    <string name="alert_dialog_close" msgid="1734746505531110706">"Pechar o perfil"</string>
-    <string name="alert_dialog_ok" msgid="7806760618798687406">"Aceptar"</string>
-    <string name="close_profile" msgid="3756064641769751774">"Pechar"</string>
-    <string name="registration_status_checking_status" msgid="884179594507591180">"Comprobando o estado..."</string>
-    <string name="registration_status_registering" msgid="7986331597809521791">"Rexistrando..."</string>
-    <string name="registration_status_still_trying" msgid="7178623685868766282">"Aínda se está tentando..."</string>
-    <string name="registration_status_not_receiving" msgid="3873074208531938401">"Non se están recibindo chamadas."</string>
-    <string name="registration_status_no_data" msgid="2987064560116584121">"O rexistro da conta detívose debido a que non hai conexión a Internet."</string>
-    <string name="registration_status_no_wifi_data" msgid="685470618241482948">"O rexistro da conta detívose debido a que non hai conexión wifi."</string>
-    <string name="registration_status_not_running" msgid="6236403137652262659">"Rexistro da conta incorrecto."</string>
-    <string name="registration_status_done" msgid="6787397199273357721">"Recibindo chamadas."</string>
-    <string name="registration_status_failed_try_later" msgid="7855389184910312091">"O rexistro da conta non se realizou correctamente: (<xliff:g id="REGISTRATION_ERROR_MESSAGE">%s</xliff:g>); tentarase máis tarde"</string>
-    <string name="registration_status_invalid_credentials" msgid="8896714049938660777">"O rexistro da conta non se completou correctamente: nome de usuario ou contrasinal incorrectos."</string>
-    <string name="registration_status_server_unreachable" msgid="3832339558868965604">"Rexistro da conta incorrecto. Comproba o nome do servidor."</string>
-    <string name="third_party_account_summary" msgid="5918779106950859167">"Esta conta está sendo utilizada actualmente pola aplicación de <xliff:g id="ACCOUNT_OWNER">%s</xliff:g>."</string>
-    <string name="sip_edit_title" msgid="7438891546610820307">"Conta SIP"</string>
-    <string name="sip_edit_new_title" msgid="8394790068979636381">"Conta SIP"</string>
-    <string name="domain_address_title" msgid="8238078615181248579">"Servidor"</string>
-    <string name="username_title" msgid="298416796886107970">"Nome de usuario"</string>
-    <string name="password_title" msgid="8035579335591959021">"Contrasinal"</string>
-    <string name="display_name_title" msgid="3730105783656830160">"Nome visible"</string>
-    <string name="proxy_address_title" msgid="4120361943254795287">"Enderezo proxy saínte"</string>
-    <string name="port_title" msgid="1703586046264385110">"Número de porto"</string>
-    <string name="transport_title" msgid="1661659138226029178">"Tipo de transporte"</string>
-    <string name="send_keepalive_title" msgid="5319788151608946049">"Enviar sinal de conexión permanente"</string>
-    <string name="advanced_settings" msgid="2704644977548662872">"Configuración opcional"</string>
-    <string name="auth_username_title" msgid="9002505242616662698">"Nome de usuario da autenticación"</string>
-    <string name="auth_username_summary" msgid="6346313945275377230">"Nome de usuario utilizado para a autenticación"</string>
-    <string name="default_preference_summary_username" msgid="8788114717555599222">"&lt;Sen definir&gt;"</string>
-    <string name="default_preference_summary_password" msgid="3695366978153175549">"&lt;Sen definir&gt;"</string>
-    <string name="default_preference_summary_domain_address" msgid="443247296785732364">"&lt;Sen definir&gt;"</string>
-    <string name="display_name_summary" msgid="6749135030093260358">"&lt;Igual que o nome de usuario&gt;"</string>
-    <string name="optional_summary" msgid="620379377865437488">"&lt;Opcional&gt;"</string>
-    <string name="advanced_settings_show" msgid="2318728080037568529">"▷ Toca aquí para mostrar todo"</string>
-    <string name="advanced_settings_hide" msgid="6200816937370652083">"▽ Toca aquí para ocultar todo"</string>
-    <string name="all_empty_alert" msgid="6085603517610199098">"Introduce os datos da nova conta SIP."</string>
-    <string name="empty_alert" msgid="3693655518612836718">"<xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> é obrigatorio e non se pode deixar en branco."</string>
-    <string name="not_a_valid_port" msgid="3664668836663491376">"O número do porto debe estar comprendido entre o 1000 e o 65534."</string>
-    <string name="no_internet_available" msgid="161720645084325479">"Para realizar unha chamada SIP, primeiro debes comprobar a túa conexión de Internet."</string>
-    <string name="no_wifi_available" msgid="1179092018692306312">"Tes que estar conectado a unha rede wifi para facer chamadas SIP (utiliza a configuración de Sen fíos e rede)."</string>
-    <string name="no_voip" msgid="3366395789297981738">"As chamadas SIP non son compatibles"</string>
-    <string name="sip_system_decide" msgid="197230378376326430">"Automático"</string>
-    <string name="sip_always_send_keepalive" msgid="4986533673960084769">"Enviar sempre"</string>
-    <string name="sip_connection_service_label" msgid="8796284274240316006">"Chamadas SIP integradas"</string>
-</resources>
diff --git a/sip/res/values-gu/strings.xml b/sip/res/values-gu/strings.xml
deleted file mode 100644
index 708452b..0000000
--- a/sip/res/values-gu/strings.xml
+++ /dev/null
@@ -1,80 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2014 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7452587325305604702">"SIP સેટિંગ"</string>
-    <string name="sip_accounts" msgid="7297896885665783239">"SIP એકાઉન્ટ્સ"</string>
-    <string name="sip_accounts_title" msgid="3061686404598143943">"એકાઉન્ટ"</string>
-    <string name="sip_receive_calls" msgid="3403644006618369349">"આવનારા કૉલ્સ પ્રાપ્ત કરો"</string>
-    <string name="sip_receive_calls_summary" msgid="5306603671778761443">"બધુ બૅટરીની આવરદાનો ઉપયોગ કરે છે"</string>
-    <string name="sip_call_options_title" msgid="5027066677561068192">"SIP કૉલિંગનો ઉપયોગ કરો"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6663105297927456484">"SIP કૉલિંગનો ઉપયોગ કરો (ફક્ત Wi-Fi)"</string>
-    <string name="sip_call_options_entry_1" msgid="4722647332760934261">"જ્યારે ડેટા નેટવર્ક ઉપલબ્ધ હોય ત્યારે બધા કૉલ્સ માટે"</string>
-    <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="sip_account_list" msgid="2596262496233721769">"SIP એકાઉન્ટ્સ"</string>
-    <string name="saving_account" msgid="3390358043846687266">"એકાઉન્ટ સાચવી રહ્યાં છે…"</string>
-    <string name="removing_account" msgid="1544132880414780408">"એકાઉન્ટ દૂર કરી રહ્યાં છે…"</string>
-    <string name="sip_menu_save" msgid="4377112554203123060">"સાચવો"</string>
-    <string name="sip_menu_discard" msgid="1883166691772895243">"છોડી દો"</string>
-    <string name="alert_dialog_close" msgid="1734746505531110706">"પ્રોફાઇલ બંધ કરો"</string>
-    <string name="alert_dialog_ok" msgid="7806760618798687406">"ઓકે"</string>
-    <string name="close_profile" msgid="3756064641769751774">"બંધ કરો"</string>
-    <string name="registration_status_checking_status" msgid="884179594507591180">"સ્થિતિ તપાસી રહ્યાં છે..."</string>
-    <string name="registration_status_registering" msgid="7986331597809521791">"નોંધણી કરી રહ્યાં છે…"</string>
-    <string name="registration_status_still_trying" msgid="7178623685868766282">"હજી પ્રયાસ કરી રહ્યાં છે..."</string>
-    <string name="registration_status_not_receiving" msgid="3873074208531938401">"કૉલ્સ પ્રાપ્ત કરી રહ્યાં નથી."</string>
-    <string name="registration_status_no_data" msgid="2987064560116584121">"કોઈ ઇન્ટરનેટ કનેક્શન ન હોવાને કારણે એકાઉન્ટની નોંધણી રોકી."</string>
-    <string name="registration_status_no_wifi_data" msgid="685470618241482948">"કોઈ Wi-Fi કનેક્શન ન હોવાને કારણે એકાઉન્ટની નોંધણી રોકી."</string>
-    <string name="registration_status_not_running" msgid="6236403137652262659">"એકાઉન્ટની નોંધણી અસફળ."</string>
-    <string name="registration_status_done" msgid="6787397199273357721">"કૉલ્સ પ્રાપ્ત કરી રહ્યાં છે."</string>
-    <string name="registration_status_failed_try_later" msgid="7855389184910312091">"એકાઉન્ટની નોંધણી અસફળ: (<xliff:g id="REGISTRATION_ERROR_MESSAGE">%s</xliff:g>); પછીથી પ્રયાસ કરીશું"</string>
-    <string name="registration_status_invalid_credentials" msgid="8896714049938660777">"એકાઉન્ટની નોંધણી અસફળ: ખોટું વપરાશકર્તાનામ અથવા પાસવર્ડ."</string>
-    <string name="registration_status_server_unreachable" msgid="3832339558868965604">"એકાઉન્ટની નોંધણી અસફળ: સર્વરનું નામ તપાસો."</string>
-    <string name="third_party_account_summary" msgid="5918779106950859167">"આ એકાઉન્ટ હાલમાં <xliff:g id="ACCOUNT_OWNER">%s</xliff:g> ઍપ્લિકેશન દ્વારા ઉપયોગમાં છે."</string>
-    <string name="sip_edit_title" msgid="7438891546610820307">"SIP એકાઉન્ટ વિગતો"</string>
-    <string name="sip_edit_new_title" msgid="8394790068979636381">"SIP એકાઉન્ટ વિગતો"</string>
-    <string name="domain_address_title" msgid="8238078615181248579">"સર્વર"</string>
-    <string name="username_title" msgid="298416796886107970">"વપરાશકર્તાનામ"</string>
-    <string name="password_title" msgid="8035579335591959021">"પાસવર્ડ"</string>
-    <string name="display_name_title" msgid="3730105783656830160">"પ્રદર્શન નામ"</string>
-    <string name="proxy_address_title" msgid="4120361943254795287">"આઉટબાઉન્ડ પ્રોક્સી સરનામું"</string>
-    <string name="port_title" msgid="1703586046264385110">"પોર્ટ નંબર"</string>
-    <string name="transport_title" msgid="1661659138226029178">"સંક્રમણ પ્રકાર"</string>
-    <string name="send_keepalive_title" msgid="5319788151608946049">"કીપ-અલાઇવ મોકલો"</string>
-    <string name="advanced_settings" msgid="2704644977548662872">"વૈકલ્પિક સેટિંગ"</string>
-    <string name="auth_username_title" msgid="9002505242616662698">"પ્રમાણીકરણ વપરાશકર્તાનામ"</string>
-    <string name="auth_username_summary" msgid="6346313945275377230">"પ્રમાણીકરણ માટે ઉપયોગમાં લેવાયેલ વપરાશકર્તાનામ"</string>
-    <string name="default_preference_summary_username" msgid="8788114717555599222">"&lt;સેટ કરેલ નથી&gt;"</string>
-    <string name="default_preference_summary_password" msgid="3695366978153175549">"&lt;સેટ કરેલ નથી&gt;"</string>
-    <string name="default_preference_summary_domain_address" msgid="443247296785732364">"&lt;સેટ કરેલ નથી&gt;"</string>
-    <string name="display_name_summary" msgid="6749135030093260358">"&lt;વપરાશકર્તાનામના સમાન&gt;"</string>
-    <string name="optional_summary" msgid="620379377865437488">"&lt;વૈકલ્પિક&gt;"</string>
-    <string name="advanced_settings_show" msgid="2318728080037568529">"▷ બધુ દર્શાવવા માટે ટચ કરો"</string>
-    <string name="advanced_settings_hide" msgid="6200816937370652083">"▽ બધુ છુપાવવા માટે ટચ કરો"</string>
-    <string name="all_empty_alert" msgid="6085603517610199098">"નવા SIP એકાઉન્ટની વિગતો દાખલ કરો."</string>
-    <string name="empty_alert" msgid="3693655518612836718">"<xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> આવશ્યક છે અને ખાલી છોડી શકાતું નથી."</string>
-    <string name="not_a_valid_port" msgid="3664668836663491376">"પોર્ટ નંબર 1000 અને 65534 ની અંદરનો હોવો જોઈએ."</string>
-    <string name="no_internet_available" msgid="161720645084325479">"SIP કૉલ કરવા માટે, પ્રથમ તમારું ઇન્ટરનેટ કનેક્શન તપાસો."</string>
-    <string name="no_wifi_available" msgid="1179092018692306312">"SIP કૉલ માટે તમારે વાઇ-ફાઇ નેટવર્કથી કનેક્ટ હોવું જરૂરી છે (વાયરલેસ અને નેટવર્ક સેટિંગનો ઉપયોગ કરો)."</string>
-    <string name="no_voip" msgid="3366395789297981738">"SIP કૉલિંગ સમર્થિત નથી"</string>
-    <string name="sip_system_decide" msgid="197230378376326430">"ઑટોમૅટિક"</string>
-    <string name="sip_always_send_keepalive" msgid="4986533673960084769">"હંમેશાં મોકલો"</string>
-    <string name="sip_connection_service_label" msgid="8796284274240316006">"બિલ્ટ-ઇન SIP કૉલિંગ"</string>
-</resources>
diff --git a/sip/res/values-hi/strings.xml b/sip/res/values-hi/strings.xml
deleted file mode 100644
index c3c18ab..0000000
--- a/sip/res/values-hi/strings.xml
+++ /dev/null
@@ -1,80 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2014 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7452587325305604702">"SIP सेटिंग"</string>
-    <string name="sip_accounts" msgid="7297896885665783239">"SIP खाते"</string>
-    <string name="sip_accounts_title" msgid="3061686404598143943">"खाते"</string>
-    <string name="sip_receive_calls" msgid="3403644006618369349">"इनकमिंग कॉल पाएं"</string>
-    <string name="sip_receive_calls_summary" msgid="5306603671778761443">"ज़्यादा बैटरी का इस्तेमाल करती है"</string>
-    <string name="sip_call_options_title" msgid="5027066677561068192">"SIP कॉलिंग का इस्तेमाल करें"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6663105297927456484">"SIP कॉलिंग का उपयोग करें (केवल वाई-फ़ाई)"</string>
-    <string name="sip_call_options_entry_1" msgid="4722647332760934261">"डेटा नेटवर्क उपलब्ध होने पर सभी कॉल के लिए"</string>
-    <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="sip_account_list" msgid="2596262496233721769">"SIP खाते"</string>
-    <string name="saving_account" msgid="3390358043846687266">"खाता सहेज रहा है..."</string>
-    <string name="removing_account" msgid="1544132880414780408">"खाता निकाल रहा है..."</string>
-    <string name="sip_menu_save" msgid="4377112554203123060">"जोड़ें"</string>
-    <string name="sip_menu_discard" msgid="1883166691772895243">"छोड़ें"</string>
-    <string name="alert_dialog_close" msgid="1734746505531110706">"प्रोफ़ाइल बंद करें"</string>
-    <string name="alert_dialog_ok" msgid="7806760618798687406">"ठीक"</string>
-    <string name="close_profile" msgid="3756064641769751774">"बंद करें"</string>
-    <string name="registration_status_checking_status" msgid="884179594507591180">"स्थिति की जाँच हो रही है..."</string>
-    <string name="registration_status_registering" msgid="7986331597809521791">"पंजीकरण जारी है..."</string>
-    <string name="registration_status_still_trying" msgid="7178623685868766282">"अब भी प्रयास कर रहा है..."</string>
-    <string name="registration_status_not_receiving" msgid="3873074208531938401">"कॉल नहीं मिल रहे हैं."</string>
-    <string name="registration_status_no_data" msgid="2987064560116584121">"खाता पंजीकरण रुक गया क्योंकि कोई इंटरनेट कनेक्शन उपलब्ध नहीं है."</string>
-    <string name="registration_status_no_wifi_data" msgid="685470618241482948">"कोई वाई-फ़ाई  कनेक्शन न होने के कारण खाता पंजीकरण रोका गया."</string>
-    <string name="registration_status_not_running" msgid="6236403137652262659">"खाता पंजीकरण विफल."</string>
-    <string name="registration_status_done" msgid="6787397199273357721">"कॉल मिल रहे हैं"</string>
-    <string name="registration_status_failed_try_later" msgid="7855389184910312091">"खाता पंजीकरण विफल: (<xliff:g id="REGISTRATION_ERROR_MESSAGE">%s</xliff:g>); बाद में फिर से प्रयास करें"</string>
-    <string name="registration_status_invalid_credentials" msgid="8896714049938660777">"खाता पंजीकरण विफल: गलत उपयोगकर्ता नाम या पासवर्ड."</string>
-    <string name="registration_status_server_unreachable" msgid="3832339558868965604">"खाता पंजीकरण विफल: सर्वर नाम जाँचें."</string>
-    <string name="third_party_account_summary" msgid="5918779106950859167">"वर्तमान में <xliff:g id="ACCOUNT_OWNER">%s</xliff:g> ऐप्स के द्वारा इस खाते का उपयोग किया जा रहा है."</string>
-    <string name="sip_edit_title" msgid="7438891546610820307">"SIP खाता विवरण"</string>
-    <string name="sip_edit_new_title" msgid="8394790068979636381">"SIP खाता विवरण"</string>
-    <string name="domain_address_title" msgid="8238078615181248579">"सर्वर"</string>
-    <string name="username_title" msgid="298416796886107970">"उपयोगकर्ता नाम"</string>
-    <string name="password_title" msgid="8035579335591959021">"पासवर्ड"</string>
-    <string name="display_name_title" msgid="3730105783656830160">"डिसप्ले नाम"</string>
-    <string name="proxy_address_title" msgid="4120361943254795287">"आउटबाउंड प्रॉक्सी पता"</string>
-    <string name="port_title" msgid="1703586046264385110">"पोर्ट नंबर"</string>
-    <string name="transport_title" msgid="1661659138226029178">"ट्रांसपोर्ट टाइप"</string>
-    <string name="send_keepalive_title" msgid="5319788151608946049">"कीप अलाइव भेजें"</string>
-    <string name="advanced_settings" msgid="2704644977548662872">"वैकल्पिक सेटिंग"</string>
-    <string name="auth_username_title" msgid="9002505242616662698">"पुष्टि के लिए उपयोगकर्ता का नाम"</string>
-    <string name="auth_username_summary" msgid="6346313945275377230">"पुष्टि के लिए इस्तेमाल होने वाला उपयोगकर्ता नाम"</string>
-    <string name="default_preference_summary_username" msgid="8788114717555599222">"&lt;सेट नहीं है&gt;"</string>
-    <string name="default_preference_summary_password" msgid="3695366978153175549">"&lt;सेट नहीं है&gt;"</string>
-    <string name="default_preference_summary_domain_address" msgid="443247296785732364">"&lt;सेट नहीं है&gt;"</string>
-    <string name="display_name_summary" msgid="6749135030093260358">"&lt;उपयोगकर्ता नाम के जैसा&gt;"</string>
-    <string name="optional_summary" msgid="620379377865437488">"&lt;वैकल्पिक&gt;"</string>
-    <string name="advanced_settings_show" msgid="2318728080037568529">"▷ सभी दिखाने के लिए छुएं"</string>
-    <string name="advanced_settings_hide" msgid="6200816937370652083">"▽ सभी छिपाने के लिए छुएं"</string>
-    <string name="all_empty_alert" msgid="6085603517610199098">"नए SIP खाते के विवरण डालें."</string>
-    <string name="empty_alert" msgid="3693655518612836718">"<xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> आवश्यक है और इसे खाली नहीं छोड़ा जा सकता."</string>
-    <string name="not_a_valid_port" msgid="3664668836663491376">"पोर्ट नंबर 1000 और 65534 के बीच होना चाहिए."</string>
-    <string name="no_internet_available" msgid="161720645084325479">"SIP कॉल करने के लिए, पहले अपना इंटरनेट कनेक्‍शन जाँचें."</string>
-    <string name="no_wifi_available" msgid="1179092018692306312">"SIP कॉल के लिए आपको किसी वाई-फ़ाई नेटवर्क से कनेक्‍ट रहना होगा (वायरलेस और नेटवर्क सेटिंग का उपयोग करें)."</string>
-    <string name="no_voip" msgid="3366395789297981738">"SIP कॉलिंग समर्थित नहीं है"</string>
-    <string name="sip_system_decide" msgid="197230378376326430">"स्वचालित"</string>
-    <string name="sip_always_send_keepalive" msgid="4986533673960084769">"हमेशा भेजें"</string>
-    <string name="sip_connection_service_label" msgid="8796284274240316006">"अंतर्निहित SIP कॉलिंग"</string>
-</resources>
diff --git a/sip/res/values-hr/strings.xml b/sip/res/values-hr/strings.xml
deleted file mode 100644
index d8f4045..0000000
--- a/sip/res/values-hr/strings.xml
+++ /dev/null
@@ -1,80 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2014 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7452587325305604702">"Postavke SIP-a"</string>
-    <string name="sip_accounts" msgid="7297896885665783239">"SIP računi"</string>
-    <string name="sip_accounts_title" msgid="3061686404598143943">"Računi"</string>
-    <string name="sip_receive_calls" msgid="3403644006618369349">"Primi dolazne pozive"</string>
-    <string name="sip_receive_calls_summary" msgid="5306603671778761443">"Troši više baterije"</string>
-    <string name="sip_call_options_title" msgid="5027066677561068192">"Upotreba SIP poziva"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6663105297927456484">"Upotreba SIP poziva (samo Wi-Fi)"</string>
-    <string name="sip_call_options_entry_1" msgid="4722647332760934261">"Za sve pozive kada je podatkovna mreža dostupna"</string>
-    <string name="sip_call_options_entry_2" msgid="7338504256051655013">"Samo za SIP pozive"</string>
-    <string name="sip_call_options_wifi_only_entry_1" msgid="922329055414010991">"Za sve pozive"</string>
-    <string name="add_sip_account" msgid="5754758646745144384">"Dodaj račun"</string>
-    <string name="remove_sip_account" msgid="8272617403399636513">"Ukloni račun"</string>
-    <string name="sip_account_list" msgid="2596262496233721769">"SIP računi"</string>
-    <string name="saving_account" msgid="3390358043846687266">"Spremanje računa…"</string>
-    <string name="removing_account" msgid="1544132880414780408">"Uklanjanje računa…"</string>
-    <string name="sip_menu_save" msgid="4377112554203123060">"Spremi"</string>
-    <string name="sip_menu_discard" msgid="1883166691772895243">"Odbaci"</string>
-    <string name="alert_dialog_close" msgid="1734746505531110706">"Zatvaranje profila"</string>
-    <string name="alert_dialog_ok" msgid="7806760618798687406">"U redu"</string>
-    <string name="close_profile" msgid="3756064641769751774">"Zatvori"</string>
-    <string name="registration_status_checking_status" msgid="884179594507591180">"Provjeravanje statusa..."</string>
-    <string name="registration_status_registering" msgid="7986331597809521791">"Registracija…"</string>
-    <string name="registration_status_still_trying" msgid="7178623685868766282">"Još pokušavam…"</string>
-    <string name="registration_status_not_receiving" msgid="3873074208531938401">"Ne prima pozive."</string>
-    <string name="registration_status_no_data" msgid="2987064560116584121">"Registracija računa zaustavljena je jer nema internetske veze."</string>
-    <string name="registration_status_no_wifi_data" msgid="685470618241482948">"Registracija računa zaustavljena je jer nema Wi-Fi veze."</string>
-    <string name="registration_status_not_running" msgid="6236403137652262659">"Registracija računa nije uspjela."</string>
-    <string name="registration_status_done" msgid="6787397199273357721">"Prima pozive."</string>
-    <string name="registration_status_failed_try_later" msgid="7855389184910312091">"Registracija računa nije uspjela: (<xliff:g id="REGISTRATION_ERROR_MESSAGE">%s</xliff:g>); pokušat ćemo kasnije"</string>
-    <string name="registration_status_invalid_credentials" msgid="8896714049938660777">"Registracija računa nije uspjela: netočno korisničko ime ili zaporka."</string>
-    <string name="registration_status_server_unreachable" msgid="3832339558868965604">"Registracija računa nije uspjela: provjerite naziv poslužitelja."</string>
-    <string name="third_party_account_summary" msgid="5918779106950859167">"Ovaj račun trenutačno upotrebljava aplikacija <xliff:g id="ACCOUNT_OWNER">%s</xliff:g>."</string>
-    <string name="sip_edit_title" msgid="7438891546610820307">"O SIP računu"</string>
-    <string name="sip_edit_new_title" msgid="8394790068979636381">"O SIP računu"</string>
-    <string name="domain_address_title" msgid="8238078615181248579">"Poslužitelj"</string>
-    <string name="username_title" msgid="298416796886107970">"Korisničko ime"</string>
-    <string name="password_title" msgid="8035579335591959021">"Zaporka"</string>
-    <string name="display_name_title" msgid="3730105783656830160">"Ime za prikaz"</string>
-    <string name="proxy_address_title" msgid="4120361943254795287">"Odlazna proxy adresa"</string>
-    <string name="port_title" msgid="1703586046264385110">"Broj priključka"</string>
-    <string name="transport_title" msgid="1661659138226029178">"Vrsta transporta"</string>
-    <string name="send_keepalive_title" msgid="5319788151608946049">"Pošalji postavke keep-alive"</string>
-    <string name="advanced_settings" msgid="2704644977548662872">"Izborne 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 koje se upotrebljava za autentifikaciju"</string>
-    <string name="default_preference_summary_username" msgid="8788114717555599222">"&lt;Nije postavljeno&gt;"</string>
-    <string name="default_preference_summary_password" msgid="3695366978153175549">"&lt;Nije postavljeno&gt;"</string>
-    <string name="default_preference_summary_domain_address" msgid="443247296785732364">"&lt;Nije postavljeno&gt;"</string>
-    <string name="display_name_summary" msgid="6749135030093260358">"&lt;Isto kao korisničko ime&gt;"</string>
-    <string name="optional_summary" msgid="620379377865437488">"&lt;Izborno&gt;"</string>
-    <string name="advanced_settings_show" msgid="2318728080037568529">"▷ Dodirnite da biste prikazali sve"</string>
-    <string name="advanced_settings_hide" msgid="6200816937370652083">"▽ Dodirnite da biste sakrili sve"</string>
-    <string name="all_empty_alert" msgid="6085603517610199098">"Unesite pojedinosti novog SIP računa."</string>
-    <string name="empty_alert" msgid="3693655518612836718">"Polje <xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> obavezno je i ne može ostati prazno."</string>
-    <string name="not_a_valid_port" msgid="3664668836663491376">"Broj priključka trebao bi biti između 1000 i 65534."</string>
-    <string name="no_internet_available" msgid="161720645084325479">"Da biste uputili SIP poziv, provjerite jeste li povezani s internetom."</string>
-    <string name="no_wifi_available" msgid="1179092018692306312">"Morate se povezati s Wi-Fi mrežom za SIP pozive (upotrijebite postavke Bežično povezivanje i mreže)."</string>
-    <string name="no_voip" msgid="3366395789297981738">"SIP pozivi nisu podržani"</string>
-    <string name="sip_system_decide" msgid="197230378376326430">"Automatski"</string>
-    <string name="sip_always_send_keepalive" msgid="4986533673960084769">"Uvijek šalji"</string>
-    <string name="sip_connection_service_label" msgid="8796284274240316006">"Ugrađeni SIP pozivi"</string>
-</resources>
diff --git a/sip/res/values-hu/strings.xml b/sip/res/values-hu/strings.xml
deleted file mode 100644
index f8ba961..0000000
--- a/sip/res/values-hu/strings.xml
+++ /dev/null
@@ -1,80 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2014 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7452587325305604702">"SIP-beállítások"</string>
-    <string name="sip_accounts" msgid="7297896885665783239">"SIP-fiókok"</string>
-    <string name="sip_accounts_title" msgid="3061686404598143943">"Fiókok"</string>
-    <string name="sip_receive_calls" msgid="3403644006618369349">"Beérkező hívások fogadása"</string>
-    <string name="sip_receive_calls_summary" msgid="5306603671778761443">"Több energiát használ"</string>
-    <string name="sip_call_options_title" msgid="5027066677561068192">"SIP-hívás használata"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6663105297927456484">"SIP-hívás használata (csak Wi-Fin)"</string>
-    <string name="sip_call_options_entry_1" msgid="4722647332760934261">"Minden hívásnál, amikor nincs elérhető adathálózat"</string>
-    <string name="sip_call_options_entry_2" msgid="7338504256051655013">"Csak SIP-hívásokhoz"</string>
-    <string name="sip_call_options_wifi_only_entry_1" msgid="922329055414010991">"Minden híváshoz"</string>
-    <string name="add_sip_account" msgid="5754758646745144384">"Fiók hozzáadása"</string>
-    <string name="remove_sip_account" msgid="8272617403399636513">"Fiók eltávolítása"</string>
-    <string name="sip_account_list" msgid="2596262496233721769">"SIP-fiókok"</string>
-    <string name="saving_account" msgid="3390358043846687266">"A fiók mentése…"</string>
-    <string name="removing_account" msgid="1544132880414780408">"A fiók törlése…"</string>
-    <string name="sip_menu_save" msgid="4377112554203123060">"Mentés"</string>
-    <string name="sip_menu_discard" msgid="1883166691772895243">"Elvetés"</string>
-    <string name="alert_dialog_close" msgid="1734746505531110706">"A profil bezárása"</string>
-    <string name="alert_dialog_ok" msgid="7806760618798687406">"OK"</string>
-    <string name="close_profile" msgid="3756064641769751774">"Bezárás"</string>
-    <string name="registration_status_checking_status" msgid="884179594507591180">"Állapot ellenőrzése…"</string>
-    <string name="registration_status_registering" msgid="7986331597809521791">"Regisztrálás…"</string>
-    <string name="registration_status_still_trying" msgid="7178623685868766282">"Még próbálkozik…"</string>
-    <string name="registration_status_not_receiving" msgid="3873074208531938401">"Nem fogad hívásokat."</string>
-    <string name="registration_status_no_data" msgid="2987064560116584121">"A fiók regisztrálása leállt, mert nincs internetkapcsolat."</string>
-    <string name="registration_status_no_wifi_data" msgid="685470618241482948">"A fiók regisztrálása leállt, mert nincs Wi-Fi-kapcsolat."</string>
-    <string name="registration_status_not_running" msgid="6236403137652262659">"A fiók regisztrálása sikertelen."</string>
-    <string name="registration_status_done" msgid="6787397199273357721">"Hívások fogadása."</string>
-    <string name="registration_status_failed_try_later" msgid="7855389184910312091">"A fiók regisztrálása sikertelen: (<xliff:g id="REGISTRATION_ERROR_MESSAGE">%s</xliff:g>); próbálja újra később"</string>
-    <string name="registration_status_invalid_credentials" msgid="8896714049938660777">"A fiók regisztrálása nem sikerült: a felhasználónév vagy a jelszó helytelen."</string>
-    <string name="registration_status_server_unreachable" msgid="3832339558868965604">"A fiók regisztrálása nem sikerült: ellenőrizze a szerver nevét."</string>
-    <string name="third_party_account_summary" msgid="5918779106950859167">"Ezt a fiókot jelenleg a(z) <xliff:g id="ACCOUNT_OWNER">%s</xliff:g> alkalmazás használja."</string>
-    <string name="sip_edit_title" msgid="7438891546610820307">"SIP-fiók részletei"</string>
-    <string name="sip_edit_new_title" msgid="8394790068979636381">"SIP-fiók részletei"</string>
-    <string name="domain_address_title" msgid="8238078615181248579">"Szerver"</string>
-    <string name="username_title" msgid="298416796886107970">"Felhasználónév"</string>
-    <string name="password_title" msgid="8035579335591959021">"Jelszó"</string>
-    <string name="display_name_title" msgid="3730105783656830160">"Megjelenítendő név"</string>
-    <string name="proxy_address_title" msgid="4120361943254795287">"Kimenő proxy címe"</string>
-    <string name="port_title" msgid="1703586046264385110">"Port száma"</string>
-    <string name="transport_title" msgid="1661659138226029178">"Átvitel típusa"</string>
-    <string name="send_keepalive_title" msgid="5319788151608946049">"Kapcsolat megtartása"</string>
-    <string name="advanced_settings" msgid="2704644977548662872">"További beállítások"</string>
-    <string name="auth_username_title" msgid="9002505242616662698">"Azonosításhoz használt felhasználónév"</string>
-    <string name="auth_username_summary" msgid="6346313945275377230">"Azonosításhoz használt felhasználónév"</string>
-    <string name="default_preference_summary_username" msgid="8788114717555599222">"&lt;Nincs megadva&gt;"</string>
-    <string name="default_preference_summary_password" msgid="3695366978153175549">"&lt;Nincs megadva&gt;"</string>
-    <string name="default_preference_summary_domain_address" msgid="443247296785732364">"&lt;Nincs megadva&gt;"</string>
-    <string name="display_name_summary" msgid="6749135030093260358">"&lt;Ugyanaz, mint a felhasználónév&gt;"</string>
-    <string name="optional_summary" msgid="620379377865437488">"&lt;Nem kötelező&gt;"</string>
-    <string name="advanced_settings_show" msgid="2318728080037568529">"▷ Érintse meg az összes megjelenítéséhez"</string>
-    <string name="advanced_settings_hide" msgid="6200816937370652083">"▽ Érintse meg az összes elrejtéséhez"</string>
-    <string name="all_empty_alert" msgid="6085603517610199098">"Adja meg az új SIP-fiók részleteit."</string>
-    <string name="empty_alert" msgid="3693655518612836718">"<xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> megadása kötelező, nem maradhat üresen."</string>
-    <string name="not_a_valid_port" msgid="3664668836663491376">"A port számának 1000 és 65534 között kell lennie."</string>
-    <string name="no_internet_available" msgid="161720645084325479">"SIP-hívás indításához előbb ellenőrizze az internetkapcsolatát."</string>
-    <string name="no_wifi_available" msgid="1179092018692306312">"SIP-hívás használatához csatlakoznia kell egy Wi-Fi-hálózathoz (használja a Vezeték nélküli és egyéb hálózatok menü beállításait)."</string>
-    <string name="no_voip" msgid="3366395789297981738">"A SIP-hívás nem támogatott"</string>
-    <string name="sip_system_decide" msgid="197230378376326430">"Automatikus"</string>
-    <string name="sip_always_send_keepalive" msgid="4986533673960084769">"Mindig küldjön"</string>
-    <string name="sip_connection_service_label" msgid="8796284274240316006">"Beépített SIP-hívás"</string>
-</resources>
diff --git a/sip/res/values-hy/strings.xml b/sip/res/values-hy/strings.xml
deleted file mode 100644
index ed4c708..0000000
--- a/sip/res/values-hy/strings.xml
+++ /dev/null
@@ -1,80 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2014 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7452587325305604702">"SIP կարգավորումներ"</string>
-    <string name="sip_accounts" msgid="7297896885665783239">"SIP հաշիվներ"</string>
-    <string name="sip_accounts_title" msgid="3061686404598143943">"Հաշիվներ"</string>
-    <string name="sip_receive_calls" msgid="3403644006618369349">"Ընդունել մուտքային զանգեր"</string>
-    <string name="sip_receive_calls_summary" msgid="5306603671778761443">"Ավելի արագ է սպառում մարտկոցի լիցքը"</string>
-    <string name="sip_call_options_title" msgid="5027066677561068192">"Զանգ SIP-ի միջոցով"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6663105297927456484">"Զանգ SIP-ի միջոցով (միայն Wi-Fi)"</string>
-    <string name="sip_call_options_entry_1" msgid="4722647332760934261">"Բոլոր զանգերի համար, երբ տվյալների ցանցը հասանելի է"</string>
-    <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="sip_account_list" msgid="2596262496233721769">"SIP հաշիվներ"</string>
-    <string name="saving_account" msgid="3390358043846687266">"Հաշիվը պահվում է..."</string>
-    <string name="removing_account" msgid="1544132880414780408">"Հաշիվը հեռացվում է..."</string>
-    <string name="sip_menu_save" msgid="4377112554203123060">"Պահել"</string>
-    <string name="sip_menu_discard" msgid="1883166691772895243">"Հրաժարվել"</string>
-    <string name="alert_dialog_close" msgid="1734746505531110706">"Փակեք պրոֆիլը"</string>
-    <string name="alert_dialog_ok" msgid="7806760618798687406">"Լավ"</string>
-    <string name="close_profile" msgid="3756064641769751774">"Փակել"</string>
-    <string name="registration_status_checking_status" msgid="884179594507591180">"Ստուգվում է կարգավիճակը..."</string>
-    <string name="registration_status_registering" msgid="7986331597809521791">"Գրանցում..."</string>
-    <string name="registration_status_still_trying" msgid="7178623685868766282">"Սպասեք..."</string>
-    <string name="registration_status_not_receiving" msgid="3873074208531938401">"Զանգեր չեն ընդունվում:"</string>
-    <string name="registration_status_no_data" msgid="2987064560116584121">"Հաշվի գրանցումը դադարեցվել է ինտերնետ կապի բացակայության պատճառով:"</string>
-    <string name="registration_status_no_wifi_data" msgid="685470618241482948">"Հաշվի գրանցումը դադարեցվել է, քանի որ չկա Wi-Fi կապ:"</string>
-    <string name="registration_status_not_running" msgid="6236403137652262659">"Հաշվի գրանցումը ձախողվել է:"</string>
-    <string name="registration_status_done" msgid="6787397199273357721">"Զանգերն ընդունվում են:"</string>
-    <string name="registration_status_failed_try_later" msgid="7855389184910312091">"Հաշվի գրանցումը ձախողվել է. (<xliff:g id="REGISTRATION_ERROR_MESSAGE">%s</xliff:g>): Կփորձենք մի փոքր ուշ:"</string>
-    <string name="registration_status_invalid_credentials" msgid="8896714049938660777">"Հաշվի գրանցումը ձախողվել է. սխալ օգտանուն կամ գաղտնաբառ:"</string>
-    <string name="registration_status_server_unreachable" msgid="3832339558868965604">"Հաշվի գրանցումը ձախողվել է: Ստուգեք սերվերի անունը:"</string>
-    <string name="third_party_account_summary" msgid="5918779106950859167">"Այս հաշիվը ներկայումս օգտագործվում է <xliff:g id="ACCOUNT_OWNER">%s</xliff:g> ծրագրի կողմից:"</string>
-    <string name="sip_edit_title" msgid="7438891546610820307">"SIP հաշվի մանրամասները"</string>
-    <string name="sip_edit_new_title" msgid="8394790068979636381">"SIP հաշվի մանրամասները"</string>
-    <string name="domain_address_title" msgid="8238078615181248579">"Սերվեր"</string>
-    <string name="username_title" msgid="298416796886107970">"Օգտանուն"</string>
-    <string name="password_title" msgid="8035579335591959021">"Գաղտնաբառ"</string>
-    <string name="display_name_title" msgid="3730105783656830160">"Ցուցադրվող անունը"</string>
-    <string name="proxy_address_title" msgid="4120361943254795287">"Պրոքսի-սերվերի հասցեն"</string>
-    <string name="port_title" msgid="1703586046264385110">"Միացքի համարը"</string>
-    <string name="transport_title" msgid="1661659138226029178">"Հաղորդակարգ"</string>
-    <string name="send_keepalive_title" msgid="5319788151608946049">"Ուղարկել keep-alive"</string>
-    <string name="advanced_settings" msgid="2704644977548662872">"Լրացուցիչ կարգավորումներ"</string>
-    <string name="auth_username_title" msgid="9002505242616662698">"Նույնականացման օգտանուն"</string>
-    <string name="auth_username_summary" msgid="6346313945275377230">"Նույնականացման համար օգտագործվող օգտանունը"</string>
-    <string name="default_preference_summary_username" msgid="8788114717555599222">"&lt;Սահմանված չէ&gt;"</string>
-    <string name="default_preference_summary_password" msgid="3695366978153175549">"&lt;Սահմանված չէ&gt;"</string>
-    <string name="default_preference_summary_domain_address" msgid="443247296785732364">"&lt;Սահմանված չէ&gt;"</string>
-    <string name="display_name_summary" msgid="6749135030093260358">"&lt;Նույնը, ինչ օգտանունը&gt;"</string>
-    <string name="optional_summary" msgid="620379377865437488">"&lt;Պարտադիր չէ&gt;"</string>
-    <string name="advanced_settings_show" msgid="2318728080037568529">"▷ Հպեք՝ տեսնելու համար"</string>
-    <string name="advanced_settings_hide" msgid="6200816937370652083">"▽ Հպեք՝ թաքցնելու ամենը"</string>
-    <string name="all_empty_alert" msgid="6085603517610199098">"Մուտքագրեք նոր SIP հաշվի տվյալները:"</string>
-    <string name="empty_alert" msgid="3693655518612836718">"<xliff:g id="INPUT_FIELD_NAME">%s</xliff:g>-ը պարտադիր է և չի կարող լինել դատարկ:"</string>
-    <string name="not_a_valid_port" msgid="3664668836663491376">"Միացքի համարը պետք է լինի 1000-ի և 65534-ի սահմաններում:"</string>
-    <string name="no_internet_available" msgid="161720645084325479">"SIP-ի միջոցով զանգ կատարելու համար նախ ստուգեք ձեր համացանցի կապակցումը:"</string>
-    <string name="no_wifi_available" msgid="1179092018692306312">"SIP-ի միջոցով զանգեր կատարելու համար ձեզ անհրաժեշտ է կապակցվել Wi-Fi ցանցին (օգտագործեք Անլար կապի և Ցանցի կարգավորումները):"</string>
-    <string name="no_voip" msgid="3366395789297981738">"SIP-ի միջոցով զանգերը չեն աջակցվում"</string>
-    <string name="sip_system_decide" msgid="197230378376326430">"Ավտոմատ"</string>
-    <string name="sip_always_send_keepalive" msgid="4986533673960084769">"Միշտ ուղարկել"</string>
-    <string name="sip_connection_service_label" msgid="8796284274240316006">"SIP-ի միջոցով զանգերի ներկառուցված ծառայություն"</string>
-</resources>
diff --git a/sip/res/values-in/strings.xml b/sip/res/values-in/strings.xml
deleted file mode 100644
index 6c52a73..0000000
--- a/sip/res/values-in/strings.xml
+++ /dev/null
@@ -1,80 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2014 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7452587325305604702">"Setelan SIP"</string>
-    <string name="sip_accounts" msgid="7297896885665783239">"Akun SIP"</string>
-    <string name="sip_accounts_title" msgid="3061686404598143943">"Akun"</string>
-    <string name="sip_receive_calls" msgid="3403644006618369349">"Terima panggilan masuk"</string>
-    <string name="sip_receive_calls_summary" msgid="5306603671778761443">"Menghabiskan lebih banyak daya baterai"</string>
-    <string name="sip_call_options_title" msgid="5027066677561068192">"Gunakan panggilan SIP"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6663105297927456484">"Gunakan panggilan SIP (hanya di Wi-Fi)"</string>
-    <string name="sip_call_options_entry_1" msgid="4722647332760934261">"Untuk semua panggilan ketika jaringan data tersedia"</string>
-    <string name="sip_call_options_entry_2" msgid="7338504256051655013">"Hanya untuk panggilan SIP"</string>
-    <string name="sip_call_options_wifi_only_entry_1" msgid="922329055414010991">"Untuk semua panggilan"</string>
-    <string name="add_sip_account" msgid="5754758646745144384">"Tambahkan akun"</string>
-    <string name="remove_sip_account" msgid="8272617403399636513">"Buang akun"</string>
-    <string name="sip_account_list" msgid="2596262496233721769">"Akun SIP"</string>
-    <string name="saving_account" msgid="3390358043846687266">"Menyimpan akun..."</string>
-    <string name="removing_account" msgid="1544132880414780408">"Membuang akun..."</string>
-    <string name="sip_menu_save" msgid="4377112554203123060">"Simpan"</string>
-    <string name="sip_menu_discard" msgid="1883166691772895243">"Buang"</string>
-    <string name="alert_dialog_close" msgid="1734746505531110706">"Tutup profil"</string>
-    <string name="alert_dialog_ok" msgid="7806760618798687406">"Oke"</string>
-    <string name="close_profile" msgid="3756064641769751774">"Tutup"</string>
-    <string name="registration_status_checking_status" msgid="884179594507591180">"Memeriksa status..."</string>
-    <string name="registration_status_registering" msgid="7986331597809521791">"Mendaftarkan..."</string>
-    <string name="registration_status_still_trying" msgid="7178623685868766282">"Masih mencoba..."</string>
-    <string name="registration_status_not_receiving" msgid="3873074208531938401">"Tidak menerima panggilan."</string>
-    <string name="registration_status_no_data" msgid="2987064560116584121">"Pendaftaran akun terhenti karena tidak ada koneksi internet."</string>
-    <string name="registration_status_no_wifi_data" msgid="685470618241482948">"Pendaftaran akun terhenti karena tidak ada sambungan Wi-Fi."</string>
-    <string name="registration_status_not_running" msgid="6236403137652262659">"Pendaftaran akun gagal."</string>
-    <string name="registration_status_done" msgid="6787397199273357721">"Menerima panggilan."</string>
-    <string name="registration_status_failed_try_later" msgid="7855389184910312091">"Pendaftaran akun gagal: (<xliff:g id="REGISTRATION_ERROR_MESSAGE">%s</xliff:g>); akan mencoba lagi nanti"</string>
-    <string name="registration_status_invalid_credentials" msgid="8896714049938660777">"Pendaftaran akun gagal: Nama pengguna atau sandi salah."</string>
-    <string name="registration_status_server_unreachable" msgid="3832339558868965604">"Pendaftaran akun gagal: Periksa nama server."</string>
-    <string name="third_party_account_summary" msgid="5918779106950859167">"Saat ini akun digunakan oleh aplikasi <xliff:g id="ACCOUNT_OWNER">%s</xliff:g>."</string>
-    <string name="sip_edit_title" msgid="7438891546610820307">"Detail akun SIP"</string>
-    <string name="sip_edit_new_title" msgid="8394790068979636381">"Detail akun SIP"</string>
-    <string name="domain_address_title" msgid="8238078615181248579">"Server"</string>
-    <string name="username_title" msgid="298416796886107970">"Nama pengguna"</string>
-    <string name="password_title" msgid="8035579335591959021">"Sandi"</string>
-    <string name="display_name_title" msgid="3730105783656830160">"Nama tampilan"</string>
-    <string name="proxy_address_title" msgid="4120361943254795287">"Alamat outbound proxy"</string>
-    <string name="port_title" msgid="1703586046264385110">"Nomor port"</string>
-    <string name="transport_title" msgid="1661659138226029178">"Jenis transport"</string>
-    <string name="send_keepalive_title" msgid="5319788151608946049">"Kirim keep-alive"</string>
-    <string name="advanced_settings" msgid="2704644977548662872">"Setelan opsional"</string>
-    <string name="auth_username_title" msgid="9002505242616662698">"Nama pengguna autentikasi"</string>
-    <string name="auth_username_summary" msgid="6346313945275377230">"Nama pengguna yang digunakan untuk autentikasi"</string>
-    <string name="default_preference_summary_username" msgid="8788114717555599222">"&lt;Tidak disetel&gt;"</string>
-    <string name="default_preference_summary_password" msgid="3695366978153175549">"&lt;Tidak disetel&gt;"</string>
-    <string name="default_preference_summary_domain_address" msgid="443247296785732364">"&lt;Tidak disetel&gt;"</string>
-    <string name="display_name_summary" msgid="6749135030093260358">"&lt;Sama dengan nama pengguna&gt;"</string>
-    <string name="optional_summary" msgid="620379377865437488">"&lt;Opsional&gt;"</string>
-    <string name="advanced_settings_show" msgid="2318728080037568529">"▷ Sentuh untuk menampilkan semua"</string>
-    <string name="advanced_settings_hide" msgid="6200816937370652083">"▽ Sentuh untuk menyembunyikan semua"</string>
-    <string name="all_empty_alert" msgid="6085603517610199098">"Masukkan detail akun SIP baru."</string>
-    <string name="empty_alert" msgid="3693655518612836718">"<xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> diwajibkan dan tidak boleh kosong."</string>
-    <string name="not_a_valid_port" msgid="3664668836663491376">"Nomor port harus dalam rentang 1000 dan 65534."</string>
-    <string name="no_internet_available" msgid="161720645084325479">"Untuk melakukan panggilan SIP, periksa koneksi internet terlebih dahulu."</string>
-    <string name="no_wifi_available" msgid="1179092018692306312">"Anda harus terhubung ke jaringan Wi-Fi untuk melakukan panggilan SIP (gunakan setelan Nirkabel &amp; Jaringan)."</string>
-    <string name="no_voip" msgid="3366395789297981738">"Panggilan SIP tidak didukung"</string>
-    <string name="sip_system_decide" msgid="197230378376326430">"Otomatis"</string>
-    <string name="sip_always_send_keepalive" msgid="4986533673960084769">"Selalu kirim"</string>
-    <string name="sip_connection_service_label" msgid="8796284274240316006">"Panggilan SIP built-in"</string>
-</resources>
diff --git a/sip/res/values-is/strings.xml b/sip/res/values-is/strings.xml
deleted file mode 100644
index 2a655d0..0000000
--- a/sip/res/values-is/strings.xml
+++ /dev/null
@@ -1,80 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2014 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7452587325305604702">"SIP-stillingar"</string>
-    <string name="sip_accounts" msgid="7297896885665783239">"SIP-reikningar"</string>
-    <string name="sip_accounts_title" msgid="3061686404598143943">"Reikningar"</string>
-    <string name="sip_receive_calls" msgid="3403644006618369349">"Svara símtölum"</string>
-    <string name="sip_receive_calls_summary" msgid="5306603671778761443">"Notar meiri rafhlöðuorku"</string>
-    <string name="sip_call_options_title" msgid="5027066677561068192">"Nota SIP-hringingar"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6663105297927456484">"Nota SIP-hringingar (eingöngu Wi-Fi)"</string>
-    <string name="sip_call_options_entry_1" msgid="4722647332760934261">"Fyrir öll símtöl þegar gagnanet er tiltækt"</string>
-    <string name="sip_call_options_entry_2" msgid="7338504256051655013">"Aðeins fyrir SIP-símtöl"</string>
-    <string name="sip_call_options_wifi_only_entry_1" msgid="922329055414010991">"Fyrir öll símtöl"</string>
-    <string name="add_sip_account" msgid="5754758646745144384">"Bæta reikningi við"</string>
-    <string name="remove_sip_account" msgid="8272617403399636513">"Fjarlægja reikning"</string>
-    <string name="sip_account_list" msgid="2596262496233721769">"SIP-reikningar"</string>
-    <string name="saving_account" msgid="3390358043846687266">"Vistar reikninginn…"</string>
-    <string name="removing_account" msgid="1544132880414780408">"Fjarlægir reikninginn…"</string>
-    <string name="sip_menu_save" msgid="4377112554203123060">"Vista"</string>
-    <string name="sip_menu_discard" msgid="1883166691772895243">"Fleygja"</string>
-    <string name="alert_dialog_close" msgid="1734746505531110706">"Loka sniðinu"</string>
-    <string name="alert_dialog_ok" msgid="7806760618798687406">"Í lagi"</string>
-    <string name="close_profile" msgid="3756064641769751774">"Loka"</string>
-    <string name="registration_status_checking_status" msgid="884179594507591180">"Athugar stöðu..."</string>
-    <string name="registration_status_registering" msgid="7986331597809521791">"Skráir…"</string>
-    <string name="registration_status_still_trying" msgid="7178623685868766282">"Enn að reyna…"</string>
-    <string name="registration_status_not_receiving" msgid="3873074208531938401">"Tekur ekki við símtölum."</string>
-    <string name="registration_status_no_data" msgid="2987064560116584121">"Reikningsskráning var stöðvuð því engin nettenging er til staðar."</string>
-    <string name="registration_status_no_wifi_data" msgid="685470618241482948">"Reikningsskráning var stöðvuð því engin Wi-Fi tenging er til staðar."</string>
-    <string name="registration_status_not_running" msgid="6236403137652262659">"Reikningsskráning mistókst."</string>
-    <string name="registration_status_done" msgid="6787397199273357721">"Tekur við símtölum."</string>
-    <string name="registration_status_failed_try_later" msgid="7855389184910312091">"Ekki tókst að skrá reikninginn (<xliff:g id="REGISTRATION_ERROR_MESSAGE">%s</xliff:g>); reynt verður aftur síðar"</string>
-    <string name="registration_status_invalid_credentials" msgid="8896714049938660777">"Reikningsskráning tókst ekki. Rangt notandanafn eða aðgangsorð."</string>
-    <string name="registration_status_server_unreachable" msgid="3832339558868965604">"Reikningsskráning mistókst. Athugaðu þjónsheitið."</string>
-    <string name="third_party_account_summary" msgid="5918779106950859167">"Forritið <xliff:g id="ACCOUNT_OWNER">%s</xliff:g> er að nota þennan reikning eins og er."</string>
-    <string name="sip_edit_title" msgid="7438891546610820307">"SIP-reikningsupplýsingar"</string>
-    <string name="sip_edit_new_title" msgid="8394790068979636381">"SIP-reikningsupplýsingar"</string>
-    <string name="domain_address_title" msgid="8238078615181248579">"Netþjónn"</string>
-    <string name="username_title" msgid="298416796886107970">"Notandanafn"</string>
-    <string name="password_title" msgid="8035579335591959021">"Aðgangsorð"</string>
-    <string name="display_name_title" msgid="3730105783656830160">"Skjánafn"</string>
-    <string name="proxy_address_title" msgid="4120361943254795287">"Vistfang proxy-þjóns á útleið"</string>
-    <string name="port_title" msgid="1703586046264385110">"Númer gáttar"</string>
-    <string name="transport_title" msgid="1661659138226029178">"Flutningsgerð"</string>
-    <string name="send_keepalive_title" msgid="5319788151608946049">"Halda tengingu opinni"</string>
-    <string name="advanced_settings" msgid="2704644977548662872">"Valfrjálsar stillingar"</string>
-    <string name="auth_username_title" msgid="9002505242616662698">"Notandanafn til auðkenningar"</string>
-    <string name="auth_username_summary" msgid="6346313945275377230">"Notandanafn notað til auðkenningar"</string>
-    <string name="default_preference_summary_username" msgid="8788114717555599222">"&lt;Ekki valið&gt;"</string>
-    <string name="default_preference_summary_password" msgid="3695366978153175549">"&lt;Ekki valið&gt;"</string>
-    <string name="default_preference_summary_domain_address" msgid="443247296785732364">"&lt;Ekki valið&gt;"</string>
-    <string name="display_name_summary" msgid="6749135030093260358">"&lt;Sama og notandanafnið&gt;"</string>
-    <string name="optional_summary" msgid="620379377865437488">"&lt;Valfrjálst&gt;"</string>
-    <string name="advanced_settings_show" msgid="2318728080037568529">"▷ Snertu til að sýna allt"</string>
-    <string name="advanced_settings_hide" msgid="6200816937370652083">"▽ Snertu til að fela allt"</string>
-    <string name="all_empty_alert" msgid="6085603517610199098">"Sláðu inn upplýsingar um nýjan SIP-reikning."</string>
-    <string name="empty_alert" msgid="3693655518612836718">"<xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> er áskilið og má ekki vera autt."</string>
-    <string name="not_a_valid_port" msgid="3664668836663491376">"Númer gáttar á að vera milli 1000 og 65534."</string>
-    <string name="no_internet_available" msgid="161720645084325479">"Til að hringja SIP-símtal skaltu fyrst athuga nettenginguna þína."</string>
-    <string name="no_wifi_available" msgid="1179092018692306312">"Þú þarft að tengjast Wi-Fi neti til að hringja SIP-símtöl (notaðu stillingar þráðlauss nets og símkerfa)."</string>
-    <string name="no_voip" msgid="3366395789297981738">"SIP-símtöl ekki studd"</string>
-    <string name="sip_system_decide" msgid="197230378376326430">"Sjálfvirkt"</string>
-    <string name="sip_always_send_keepalive" msgid="4986533673960084769">"Senda alltaf"</string>
-    <string name="sip_connection_service_label" msgid="8796284274240316006">"Innbyggð SIP-símtöl"</string>
-</resources>
diff --git a/sip/res/values-it/strings.xml b/sip/res/values-it/strings.xml
deleted file mode 100644
index ffb90c2..0000000
--- a/sip/res/values-it/strings.xml
+++ /dev/null
@@ -1,80 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2014 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7452587325305604702">"Impostazioni SIP"</string>
-    <string name="sip_accounts" msgid="7297896885665783239">"Account SIP"</string>
-    <string name="sip_accounts_title" msgid="3061686404598143943">"Account"</string>
-    <string name="sip_receive_calls" msgid="3403644006618369349">"Ricevi chiamate in arrivo"</string>
-    <string name="sip_receive_calls_summary" msgid="5306603671778761443">"Consuma più batteria"</string>
-    <string name="sip_call_options_title" msgid="5027066677561068192">"Utilizza chiamate SIP"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6663105297927456484">"Utilizza chiamate SIP (solo Wi-Fi)"</string>
-    <string name="sip_call_options_entry_1" msgid="4722647332760934261">"Per tutte le chiamate quando è disponibile la rete dati"</string>
-    <string name="sip_call_options_entry_2" msgid="7338504256051655013">"Solo per chiamate SIP"</string>
-    <string name="sip_call_options_wifi_only_entry_1" msgid="922329055414010991">"Per tutte le chiamate"</string>
-    <string name="add_sip_account" msgid="5754758646745144384">"Aggiungi account"</string>
-    <string name="remove_sip_account" msgid="8272617403399636513">"Rimuovi account"</string>
-    <string name="sip_account_list" msgid="2596262496233721769">"Account SIP"</string>
-    <string name="saving_account" msgid="3390358043846687266">"Salvataggio dell\'account..."</string>
-    <string name="removing_account" msgid="1544132880414780408">"Rimozione dell\'account..."</string>
-    <string name="sip_menu_save" msgid="4377112554203123060">"Salva"</string>
-    <string name="sip_menu_discard" msgid="1883166691772895243">"Annulla"</string>
-    <string name="alert_dialog_close" msgid="1734746505531110706">"Chiudi il profilo"</string>
-    <string name="alert_dialog_ok" msgid="7806760618798687406">"OK"</string>
-    <string name="close_profile" msgid="3756064641769751774">"Chiudi"</string>
-    <string name="registration_status_checking_status" msgid="884179594507591180">"Controllo stato..."</string>
-    <string name="registration_status_registering" msgid="7986331597809521791">"Registrazione..."</string>
-    <string name="registration_status_still_trying" msgid="7178623685868766282">"Tentativo ancora in corso..."</string>
-    <string name="registration_status_not_receiving" msgid="3873074208531938401">"Ricezione chiamate non attiva."</string>
-    <string name="registration_status_no_data" msgid="2987064560116584121">"Registrazione account interrotta per mancanza di collegamento Internet."</string>
-    <string name="registration_status_no_wifi_data" msgid="685470618241482948">"Registrazione account interrotta per mancanza di connessione Wi-Fi."</string>
-    <string name="registration_status_not_running" msgid="6236403137652262659">"Registrazione account non riuscita."</string>
-    <string name="registration_status_done" msgid="6787397199273357721">"Ricezione chiamate attiva."</string>
-    <string name="registration_status_failed_try_later" msgid="7855389184910312091">"Registrazione account non riuscita: (<xliff:g id="REGISTRATION_ERROR_MESSAGE">%s</xliff:g>); più tardi verrà eseguito un nuovo tentativo"</string>
-    <string name="registration_status_invalid_credentials" msgid="8896714049938660777">"Registrazione account non riuscita: password o nome utente errato."</string>
-    <string name="registration_status_server_unreachable" msgid="3832339558868965604">"Registrazione account non riuscita: verifica il nome del server."</string>
-    <string name="third_party_account_summary" msgid="5918779106950859167">"Questo account è attualmente utilizzato dall\'applicazione <xliff:g id="ACCOUNT_OWNER">%s</xliff:g>."</string>
-    <string name="sip_edit_title" msgid="7438891546610820307">"Dettagli account SIP"</string>
-    <string name="sip_edit_new_title" msgid="8394790068979636381">"Dettagli account SIP"</string>
-    <string name="domain_address_title" msgid="8238078615181248579">"Server"</string>
-    <string name="username_title" msgid="298416796886107970">"Nome utente"</string>
-    <string name="password_title" msgid="8035579335591959021">"Password"</string>
-    <string name="display_name_title" msgid="3730105783656830160">"Nome visualizzato"</string>
-    <string name="proxy_address_title" msgid="4120361943254795287">"Indirizzo proxy in uscita"</string>
-    <string name="port_title" msgid="1703586046264385110">"Numero porta"</string>
-    <string name="transport_title" msgid="1661659138226029178">"Tipo trasporto"</string>
-    <string name="send_keepalive_title" msgid="5319788151608946049">"Invia keep-alive"</string>
-    <string name="advanced_settings" msgid="2704644977548662872">"Impostazioni facoltative"</string>
-    <string name="auth_username_title" msgid="9002505242616662698">"Nome utente per autenticazione"</string>
-    <string name="auth_username_summary" msgid="6346313945275377230">"Nome utente utilizzato per l\'autenticazione"</string>
-    <string name="default_preference_summary_username" msgid="8788114717555599222">"&lt;Non impostato&gt;"</string>
-    <string name="default_preference_summary_password" msgid="3695366978153175549">"&lt;Non impostata&gt;"</string>
-    <string name="default_preference_summary_domain_address" msgid="443247296785732364">"&lt;Non impostato&gt;"</string>
-    <string name="display_name_summary" msgid="6749135030093260358">"&lt;Uguale al nome utente&gt;"</string>
-    <string name="optional_summary" msgid="620379377865437488">"&lt;Facoltativo&gt;"</string>
-    <string name="advanced_settings_show" msgid="2318728080037568529">"▷ Tocca per mostrare tutto"</string>
-    <string name="advanced_settings_hide" msgid="6200816937370652083">"▽ Tocca per nascondere tutto"</string>
-    <string name="all_empty_alert" msgid="6085603517610199098">"Inserisci i dati del nuovo account SIP."</string>
-    <string name="empty_alert" msgid="3693655518612836718">"<xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> è obbligatorio e non può essere lasciato vuoto."</string>
-    <string name="not_a_valid_port" msgid="3664668836663491376">"Il numero della porta deve essere compreso tra 1000 e 65534."</string>
-    <string name="no_internet_available" msgid="161720645084325479">"Per effettuare una chiamata SIP, verifica prima la connessione Internet."</string>
-    <string name="no_wifi_available" msgid="1179092018692306312">"Devi essere connesso a una rete Wi-Fi per le chiamate SIP (utilizza le impostazioni wireless e della rete)."</string>
-    <string name="no_voip" msgid="3366395789297981738">"Chiamate SIP non supportate"</string>
-    <string name="sip_system_decide" msgid="197230378376326430">"Automatico"</string>
-    <string name="sip_always_send_keepalive" msgid="4986533673960084769">"Invia sempre"</string>
-    <string name="sip_connection_service_label" msgid="8796284274240316006">"Chiamate SIP incorporate"</string>
-</resources>
diff --git a/sip/res/values-iw/strings.xml b/sip/res/values-iw/strings.xml
deleted file mode 100644
index 34b1b20..0000000
--- a/sip/res/values-iw/strings.xml
+++ /dev/null
@@ -1,80 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2014 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7452587325305604702">"‏הגדרות SIP"</string>
-    <string name="sip_accounts" msgid="7297896885665783239">"‏חשבונות SIP"</string>
-    <string name="sip_accounts_title" msgid="3061686404598143943">"חשבונות"</string>
-    <string name="sip_receive_calls" msgid="3403644006618369349">"קבלת שיחות נכנסות"</string>
-    <string name="sip_receive_calls_summary" msgid="5306603671778761443">"צריכת הסוללה גבוהה יותר"</string>
-    <string name="sip_call_options_title" msgid="5027066677561068192">"‏שימוש בשיחות SIP"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6663105297927456484">"‏שימוש בשיחות SIP ‏(Wi-Fi בלבד)‏"</string>
-    <string name="sip_call_options_entry_1" msgid="4722647332760934261">"לכל השיחות כאשר רשת הנתונים זמינה"</string>
-    <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="sip_account_list" msgid="2596262496233721769">"‏חשבונות SIP"</string>
-    <string name="saving_account" msgid="3390358043846687266">"שמירת החשבון מתבצעת..."</string>
-    <string name="removing_account" msgid="1544132880414780408">"הסרת החשבון מתבצעת..."</string>
-    <string name="sip_menu_save" msgid="4377112554203123060">"שמירה"</string>
-    <string name="sip_menu_discard" msgid="1883166691772895243">"מחיקה"</string>
-    <string name="alert_dialog_close" msgid="1734746505531110706">"סגירת הפרופיל"</string>
-    <string name="alert_dialog_ok" msgid="7806760618798687406">"אישור"</string>
-    <string name="close_profile" msgid="3756064641769751774">"סגירה"</string>
-    <string name="registration_status_checking_status" msgid="884179594507591180">"בדיקת המצב מתבצעת..."</string>
-    <string name="registration_status_registering" msgid="7986331597809521791">"הרישום מתבצע..."</string>
-    <string name="registration_status_still_trying" msgid="7178623685868766282">"הניסיון מתבצע..."</string>
-    <string name="registration_status_not_receiving" msgid="3873074208531938401">"לא מקבל שיחות."</string>
-    <string name="registration_status_no_data" msgid="2987064560116584121">"רישום החשבון הופסק כיוון שאין חיבור לאינטרנט."</string>
-    <string name="registration_status_no_wifi_data" msgid="685470618241482948">"‏רישום החשבון הופסק כיוון שאין חיבור Wi-Fi."</string>
-    <string name="registration_status_not_running" msgid="6236403137652262659">"רישום החשבון נכשל."</string>
-    <string name="registration_status_done" msgid="6787397199273357721">"קבלת שיחות."</string>
-    <string name="registration_status_failed_try_later" msgid="7855389184910312091">"רישום החשבון נכשל: (<xliff:g id="REGISTRATION_ERROR_MESSAGE">%s</xliff:g>); ניסיון חוזר יבוצע מאוחר יותר"</string>
-    <string name="registration_status_invalid_credentials" msgid="8896714049938660777">"רישום החשבון נכשל: שם המשתמש או הסיסמה שגויים."</string>
-    <string name="registration_status_server_unreachable" msgid="3832339558868965604">"רישום החשבון נכשל: יש לבדוק את שם השרת."</string>
-    <string name="third_party_account_summary" msgid="5918779106950859167">"האפליקציה <xliff:g id="ACCOUNT_OWNER">%s</xliff:g> משתמשת כרגע בחשבון הזה."</string>
-    <string name="sip_edit_title" msgid="7438891546610820307">"‏פרטי חשבון SIP"</string>
-    <string name="sip_edit_new_title" msgid="8394790068979636381">"‏פרטי חשבון SIP"</string>
-    <string name="domain_address_title" msgid="8238078615181248579">"שרת"</string>
-    <string name="username_title" msgid="298416796886107970">"שם משתמש"</string>
-    <string name="password_title" msgid="8035579335591959021">"סיסמה"</string>
-    <string name="display_name_title" msgid="3730105783656830160">"שם תצוגה"</string>
-    <string name="proxy_address_title" msgid="4120361943254795287">"‏כתובת שרת Proxy יוצא"</string>
-    <string name="port_title" msgid="1703586046264385110">"מספר יציאה"</string>
-    <string name="transport_title" msgid="1661659138226029178">"סוג העברה"</string>
-    <string name="send_keepalive_title" msgid="5319788151608946049">"שליחת אות חיבור"</string>
-    <string name="advanced_settings" msgid="2704644977548662872">"הגדרות אופציונליות"</string>
-    <string name="auth_username_title" msgid="9002505242616662698">"שם משתמש לאימות"</string>
-    <string name="auth_username_summary" msgid="6346313945275377230">"שם משתמש המשמש לאימות"</string>
-    <string name="default_preference_summary_username" msgid="8788114717555599222">"‏&lt;לא מוגדר&gt;"</string>
-    <string name="default_preference_summary_password" msgid="3695366978153175549">"‏&lt;לא מוגדרת&gt;"</string>
-    <string name="default_preference_summary_domain_address" msgid="443247296785732364">"&lt;לא מוגדר&gt;"</string>
-    <string name="display_name_summary" msgid="6749135030093260358">"‏&lt;זהה לשם משתמש&gt;"</string>
-    <string name="optional_summary" msgid="620379377865437488">"‏&lt;אופציונלי&gt;"</string>
-    <string name="advanced_settings_show" msgid="2318728080037568529">"איפה כל ההגדרות?"</string>
-    <string name="advanced_settings_hide" msgid="6200816937370652083">"▽ יש לגעת כדי להסתיר את הכול"</string>
-    <string name="all_empty_alert" msgid="6085603517610199098">"‏יש להזין את פרטי חשבון ה-SIP החדש."</string>
-    <string name="empty_alert" msgid="3693655518612836718">"<xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> הוא שדה חובה ולא ניתן להשאיר אותו ריק."</string>
-    <string name="not_a_valid_port" msgid="3664668836663491376">"מספר היציאה צריך להיות בין 1000 ל-65534."</string>
-    <string name="no_internet_available" msgid="161720645084325479">"‏כדי לבצע שיחת SIP, ראשית יש לבדוק את חיבור האינטרנט שלך."</string>
-    <string name="no_wifi_available" msgid="1179092018692306312">"‏יש צורך בחיבור לרשת Wi-Fi כדי לבצע שיחות SIP (יש להשתמש ב\'הגדרות רשת ותקשורת אלחוטית\')."</string>
-    <string name="no_voip" msgid="3366395789297981738">"‏שיחות SIP לא נתמכות"</string>
-    <string name="sip_system_decide" msgid="197230378376326430">"אוטומטי"</string>
-    <string name="sip_always_send_keepalive" msgid="4986533673960084769">"שליחה תמיד"</string>
-    <string name="sip_connection_service_label" msgid="8796284274240316006">"‏שיחות SIP מובנות"</string>
-</resources>
diff --git a/sip/res/values-ja/strings.xml b/sip/res/values-ja/strings.xml
deleted file mode 100644
index 6128a53..0000000
--- a/sip/res/values-ja/strings.xml
+++ /dev/null
@@ -1,80 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2014 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7452587325305604702">"SIPの設定"</string>
-    <string name="sip_accounts" msgid="7297896885665783239">"SIPアカウント"</string>
-    <string name="sip_accounts_title" msgid="3061686404598143943">"アカウント"</string>
-    <string name="sip_receive_calls" msgid="3403644006618369349">"着信を受ける"</string>
-    <string name="sip_receive_calls_summary" msgid="5306603671778761443">"電池の使用量が増加"</string>
-    <string name="sip_call_options_title" msgid="5027066677561068192">"SIP通話の使用"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6663105297927456484">"SIP通話の使用(Wi-Fiのみ)"</string>
-    <string name="sip_call_options_entry_1" msgid="4722647332760934261">"データネットワーク接続時はすべての通話"</string>
-    <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="sip_account_list" msgid="2596262496233721769">"SIPアカウント"</string>
-    <string name="saving_account" msgid="3390358043846687266">"アカウントを保存しています…"</string>
-    <string name="removing_account" msgid="1544132880414780408">"アカウントを削除しています…"</string>
-    <string name="sip_menu_save" msgid="4377112554203123060">"保存"</string>
-    <string name="sip_menu_discard" msgid="1883166691772895243">"破棄"</string>
-    <string name="alert_dialog_close" msgid="1734746505531110706">"プロファイルを閉じる"</string>
-    <string name="alert_dialog_ok" msgid="7806760618798687406">"OK"</string>
-    <string name="close_profile" msgid="3756064641769751774">"閉じる"</string>
-    <string name="registration_status_checking_status" msgid="884179594507591180">"ステータスを確認しています..."</string>
-    <string name="registration_status_registering" msgid="7986331597809521791">"登録しています…"</string>
-    <string name="registration_status_still_trying" msgid="7178623685868766282">"試行しています…"</string>
-    <string name="registration_status_not_receiving" msgid="3873074208531938401">"通話着信OFF"</string>
-    <string name="registration_status_no_data" msgid="2987064560116584121">"インターネットに接続されていないため、アカウント登録処理が中断されました。"</string>
-    <string name="registration_status_no_wifi_data" msgid="685470618241482948">"Wi-Fi接続されていないため、アカウントの登録を中断しました。"</string>
-    <string name="registration_status_not_running" msgid="6236403137652262659">"アカウントを登録できませんでした。"</string>
-    <string name="registration_status_done" msgid="6787397199273357721">"通話着信ON"</string>
-    <string name="registration_status_failed_try_later" msgid="7855389184910312091">"アカウントを登録できませんでした(<xliff:g id="REGISTRATION_ERROR_MESSAGE">%s</xliff:g>)。後ほど再試行します。"</string>
-    <string name="registration_status_invalid_credentials" msgid="8896714049938660777">"アカウントを登録できませんでした: ユーザー名かパスワードが正しくありません。"</string>
-    <string name="registration_status_server_unreachable" msgid="3832339558868965604">"アカウントを登録できませんでした: サーバー名を確認してください。"</string>
-    <string name="third_party_account_summary" msgid="5918779106950859167">"このアカウントは現在「<xliff:g id="ACCOUNT_OWNER">%s</xliff:g>」アプリで使用されています。"</string>
-    <string name="sip_edit_title" msgid="7438891546610820307">"SIPアカウントの詳細"</string>
-    <string name="sip_edit_new_title" msgid="8394790068979636381">"SIPアカウントの詳細"</string>
-    <string name="domain_address_title" msgid="8238078615181248579">"サーバー"</string>
-    <string name="username_title" msgid="298416796886107970">"ユーザー名"</string>
-    <string name="password_title" msgid="8035579335591959021">"パスワード"</string>
-    <string name="display_name_title" msgid="3730105783656830160">"表示名"</string>
-    <string name="proxy_address_title" msgid="4120361943254795287">"発信プロキシアドレス"</string>
-    <string name="port_title" msgid="1703586046264385110">"ポート番号"</string>
-    <string name="transport_title" msgid="1661659138226029178">"伝送方式"</string>
-    <string name="send_keepalive_title" msgid="5319788151608946049">"キープアライブを送信する"</string>
-    <string name="advanced_settings" msgid="2704644977548662872">"オプション設定"</string>
-    <string name="auth_username_title" msgid="9002505242616662698">"認証ユーザー名"</string>
-    <string name="auth_username_summary" msgid="6346313945275377230">"認証に使用するユーザー名"</string>
-    <string name="default_preference_summary_username" msgid="8788114717555599222">"&lt;未設定&gt;"</string>
-    <string name="default_preference_summary_password" msgid="3695366978153175549">"&lt;未設定&gt;"</string>
-    <string name="default_preference_summary_domain_address" msgid="443247296785732364">"&lt;未設定&gt;"</string>
-    <string name="display_name_summary" msgid="6749135030093260358">"&lt;ユーザー名と同じ&gt;"</string>
-    <string name="optional_summary" msgid="620379377865437488">"&lt;オプション&gt;"</string>
-    <string name="advanced_settings_show" msgid="2318728080037568529">"▷タップしてすべて表示"</string>
-    <string name="advanced_settings_hide" msgid="6200816937370652083">"▽すべて非表示"</string>
-    <string name="all_empty_alert" msgid="6085603517610199098">"新しいSIPアカウントの詳細情報を入力してください。"</string>
-    <string name="empty_alert" msgid="3693655518612836718">"「<xliff:g id="INPUT_FIELD_NAME">%s</xliff:g>」は必須です。空欄にはできません。"</string>
-    <string name="not_a_valid_port" msgid="3664668836663491376">"ポート番号は1000~65534で指定してください。"</string>
-    <string name="no_internet_available" msgid="161720645084325479">"SIP通話を発信する前に、インターネット接続を確認してください。"</string>
-    <string name="no_wifi_available" msgid="1179092018692306312">"SIP通話をするにはWi-Fネットワークに接続する必要があります([無線とネットワーク]で設定)。"</string>
-    <string name="no_voip" msgid="3366395789297981738">"SIP通話はサポートされていません"</string>
-    <string name="sip_system_decide" msgid="197230378376326430">"自動"</string>
-    <string name="sip_always_send_keepalive" msgid="4986533673960084769">"常に送信"</string>
-    <string name="sip_connection_service_label" msgid="8796284274240316006">"内蔵SIP通話機能"</string>
-</resources>
diff --git a/sip/res/values-ka/strings.xml b/sip/res/values-ka/strings.xml
deleted file mode 100644
index b2ac66f..0000000
--- a/sip/res/values-ka/strings.xml
+++ /dev/null
@@ -1,80 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2014 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7452587325305604702">"SIP პარამეტრები"</string>
-    <string name="sip_accounts" msgid="7297896885665783239">"SIP ანგარიშები"</string>
-    <string name="sip_accounts_title" msgid="3061686404598143943">"ანგარიშები"</string>
-    <string name="sip_receive_calls" msgid="3403644006618369349">"შემომავალი ზარების მიღება"</string>
-    <string name="sip_receive_calls_summary" msgid="5306603671778761443">"იყენებს ბატარეის მეტ ენერგიას"</string>
-    <string name="sip_call_options_title" msgid="5027066677561068192">"SIP დარეკვის გამოყენება"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6663105297927456484">"SIP დარეკვის გამოყენება (მხოლოდ Wi-Fi)"</string>
-    <string name="sip_call_options_entry_1" msgid="4722647332760934261">"ყველა ზარზე, როდესაც მონაცემთა ქსელი ხელმისაწვდომია"</string>
-    <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="sip_account_list" msgid="2596262496233721769">"SIP ანგარიშები"</string>
-    <string name="saving_account" msgid="3390358043846687266">"ანგარიშის შენახვა…"</string>
-    <string name="removing_account" msgid="1544132880414780408">"მიმდინარეობს ანგარიშის ამოშლა…"</string>
-    <string name="sip_menu_save" msgid="4377112554203123060">"შენახვა"</string>
-    <string name="sip_menu_discard" msgid="1883166691772895243">"გაუქმება"</string>
-    <string name="alert_dialog_close" msgid="1734746505531110706">"პროფილის დახურვა"</string>
-    <string name="alert_dialog_ok" msgid="7806760618798687406">"კარგი"</string>
-    <string name="close_profile" msgid="3756064641769751774">"დახურვა"</string>
-    <string name="registration_status_checking_status" msgid="884179594507591180">"სტატუსის შემოწმება..."</string>
-    <string name="registration_status_registering" msgid="7986331597809521791">"მიმდინარეობს რეგისტრაცია…"</string>
-    <string name="registration_status_still_trying" msgid="7178623685868766282">"ხელახალი მცდელობა…"</string>
-    <string name="registration_status_not_receiving" msgid="3873074208531938401">"ზარების მიღება არ ხორციელდება."</string>
-    <string name="registration_status_no_data" msgid="2987064560116584121">"ანგარიშის რეგისტრაცია შეჩერდა, რადგან ინტერნეტ-კავშირი არ არის."</string>
-    <string name="registration_status_no_wifi_data" msgid="685470618241482948">"ანგარიშის რეგისტრაცია შეჩერდა, რადგან Wi-Fi კავშირი არ არის."</string>
-    <string name="registration_status_not_running" msgid="6236403137652262659">"ანგარიშის რეგისტრაცია ვერ განხორციელდა."</string>
-    <string name="registration_status_done" msgid="6787397199273357721">"იღებს ზარებს."</string>
-    <string name="registration_status_failed_try_later" msgid="7855389184910312091">"ანგარიშის რეგისტრაცია ვერ განხორციელდა: (<xliff:g id="REGISTRATION_ERROR_MESSAGE">%s</xliff:g>); მოგვიანებით შევეცდებით"</string>
-    <string name="registration_status_invalid_credentials" msgid="8896714049938660777">"ანგარიშის რეგისტრაცია ვერ განხორციელდა: მომხმარებლის სახელი ან პაროლი არასწორია."</string>
-    <string name="registration_status_server_unreachable" msgid="3832339558868965604">"ანგარიშის რეგისტრაცია ვერ განხორციელდა: გადაამოწმეთ სერვერის სახელი."</string>
-    <string name="third_party_account_summary" msgid="5918779106950859167">"ანგარიში ამჟამად გამოიყენება <xliff:g id="ACCOUNT_OWNER">%s</xliff:g> აპის მიერ."</string>
-    <string name="sip_edit_title" msgid="7438891546610820307">"SIP ანგარიშის დეტალები"</string>
-    <string name="sip_edit_new_title" msgid="8394790068979636381">"SIP ანგარიშის დეტალები"</string>
-    <string name="domain_address_title" msgid="8238078615181248579">"სერვერი"</string>
-    <string name="username_title" msgid="298416796886107970">"მომხმარებლის სახელი"</string>
-    <string name="password_title" msgid="8035579335591959021">"პაროლი"</string>
-    <string name="display_name_title" msgid="3730105783656830160">"ნაჩვენები სახელი"</string>
-    <string name="proxy_address_title" msgid="4120361943254795287">"გამავალი პროქსის მისამართი"</string>
-    <string name="port_title" msgid="1703586046264385110">"პორტის ნომერი"</string>
-    <string name="transport_title" msgid="1661659138226029178">"ტრანსპორტირების ტიპი"</string>
-    <string name="send_keepalive_title" msgid="5319788151608946049">"keep-alive-ის გაგზავნა"</string>
-    <string name="advanced_settings" msgid="2704644977548662872">"არასავალდებულო პარამეტრები"</string>
-    <string name="auth_username_title" msgid="9002505242616662698">"ავტორიზაციის მომხმარებლის სახელი"</string>
-    <string name="auth_username_summary" msgid="6346313945275377230">"ავტორიზაციისათვის გამოყენებული მომხმარებლის სახელი"</string>
-    <string name="default_preference_summary_username" msgid="8788114717555599222">"&lt;არ არის დაყენებული&gt;"</string>
-    <string name="default_preference_summary_password" msgid="3695366978153175549">"&lt;არ არის დაყენებული&gt;"</string>
-    <string name="default_preference_summary_domain_address" msgid="443247296785732364">"&lt;არ არის დაყენებული&gt;"</string>
-    <string name="display_name_summary" msgid="6749135030093260358">"&lt;იგივეა, რაც მომხმარებლის სახელი&gt;"</string>
-    <string name="optional_summary" msgid="620379377865437488">"&lt;სურვილისამებრ&gt;"</string>
-    <string name="advanced_settings_show" msgid="2318728080037568529">"▷ შეეხეთ ყველას საჩვენებლად"</string>
-    <string name="advanced_settings_hide" msgid="6200816937370652083">"▽ შეეხეთ ყველას დასამალად"</string>
-    <string name="all_empty_alert" msgid="6085603517610199098">"შეიყვანეთ თქვენი ახალი SIP ანგარიშის დეტალები."</string>
-    <string name="empty_alert" msgid="3693655518612836718">"<xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> აუცილებელია და ცარიელი ვერ დარჩება."</string>
-    <string name="not_a_valid_port" msgid="3664668836663491376">"პორტის ნომერი უნდა იყოს 1000 – 65534 არეალში."</string>
-    <string name="no_internet_available" msgid="161720645084325479">"SIP ზარის განხორციელებისათვის, პირველ რიგში შეამოწმეთ თქვენი ინტერნეტ კავშირი."</string>
-    <string name="no_wifi_available" msgid="1179092018692306312">"SIP ზარებისათვის, დაკავშირებული უნდა იყოთ Wi-Fi ქსელთან (გამოიყენეთ უკაბელო &amp; amp; ქსელის პარამეტრები)."</string>
-    <string name="no_voip" msgid="3366395789297981738">"SIP დარეკვა არ არის მხარდაჭერილი"</string>
-    <string name="sip_system_decide" msgid="197230378376326430">"ავტომატური"</string>
-    <string name="sip_always_send_keepalive" msgid="4986533673960084769">"მუდამ გაგზავნა"</string>
-    <string name="sip_connection_service_label" msgid="8796284274240316006">"ჩაშენებული SIP ზარში"</string>
-</resources>
diff --git a/sip/res/values-kk/strings.xml b/sip/res/values-kk/strings.xml
deleted file mode 100644
index 2f90a2a..0000000
--- a/sip/res/values-kk/strings.xml
+++ /dev/null
@@ -1,80 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2014 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7452587325305604702">"SIP параметрлері"</string>
-    <string name="sip_accounts" msgid="7297896885665783239">"SIP аккаунттары"</string>
-    <string name="sip_accounts_title" msgid="3061686404598143943">"Аккаунттар"</string>
-    <string name="sip_receive_calls" msgid="3403644006618369349">"Кіріс қоңырауларды қабылдау"</string>
-    <string name="sip_receive_calls_summary" msgid="5306603671778761443">"Көбірек батарея қуатын пайдаланады"</string>
-    <string name="sip_call_options_title" msgid="5027066677561068192">"SIP қызметін пайдалану"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6663105297927456484">"SIP қоңырауларын пайдалану (тек Wi-Fi)"</string>
-    <string name="sip_call_options_entry_1" msgid="4722647332760934261">"Деректер желісі қол жетімді болғанда барлық қоңыраулар үшін"</string>
-    <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="sip_account_list" msgid="2596262496233721769">"SIP аккаунттары"</string>
-    <string name="saving_account" msgid="3390358043846687266">"Аккаунт сақталуда…"</string>
-    <string name="removing_account" msgid="1544132880414780408">"Аккаунт жойылуда…"</string>
-    <string name="sip_menu_save" msgid="4377112554203123060">"Сақтау"</string>
-    <string name="sip_menu_discard" msgid="1883166691772895243">"Алып тастау"</string>
-    <string name="alert_dialog_close" msgid="1734746505531110706">"Профильді жабу"</string>
-    <string name="alert_dialog_ok" msgid="7806760618798687406">"Жарайды"</string>
-    <string name="close_profile" msgid="3756064641769751774">"Жабу"</string>
-    <string name="registration_status_checking_status" msgid="884179594507591180">"Күй тексерілуде…"</string>
-    <string name="registration_status_registering" msgid="7986331597809521791">"Тіркелуде…"</string>
-    <string name="registration_status_still_trying" msgid="7178623685868766282">"Әлі әрекеттенуде…"</string>
-    <string name="registration_status_not_receiving" msgid="3873074208531938401">"Қоңыраулар қабылданып жатқан жоқ."</string>
-    <string name="registration_status_no_data" msgid="2987064560116584121">"Аккаунтты тіркеу тоқтатылды, себебі интернет байланысы жоқ."</string>
-    <string name="registration_status_no_wifi_data" msgid="685470618241482948">"Аккаунтты тіркеу тоқтатылды, себебі Wi-Fi байланысы жоқ."</string>
-    <string name="registration_status_not_running" msgid="6236403137652262659">"Аккаунт тіркеу сәтсіз аяқталды."</string>
-    <string name="registration_status_done" msgid="6787397199273357721">"Қоңыраулар қабылдануда."</string>
-    <string name="registration_status_failed_try_later" msgid="7855389184910312091">"Аккаунтты тіркеу сәтсіз аяқталды: (<xliff:g id="REGISTRATION_ERROR_MESSAGE">%s</xliff:g>); әрекет кейінірек қайталанады"</string>
-    <string name="registration_status_invalid_credentials" msgid="8896714049938660777">"Аккаунтты тіркеу сәтсіз аяқталды: Пайдаланушы аты немесе құпия сөз қате."</string>
-    <string name="registration_status_server_unreachable" msgid="3832339558868965604">"Аккаунт тіркеу сәтсіз аяқталды: Сервер атауын тексеріңіз."</string>
-    <string name="third_party_account_summary" msgid="5918779106950859167">"Бұл аккаунтты қазіргі уақытта <xliff:g id="ACCOUNT_OWNER">%s</xliff:g> қолданбасы пайдалануда."</string>
-    <string name="sip_edit_title" msgid="7438891546610820307">"SIP аккаунты туралы мәліметтер"</string>
-    <string name="sip_edit_new_title" msgid="8394790068979636381">"SIP аккаунты туралы мәліметтер"</string>
-    <string name="domain_address_title" msgid="8238078615181248579">"Сервер"</string>
-    <string name="username_title" msgid="298416796886107970">"Пайдаланушы аты"</string>
-    <string name="password_title" msgid="8035579335591959021">"Құпия сөз"</string>
-    <string name="display_name_title" msgid="3730105783656830160">"Көрсетілетін ат"</string>
-    <string name="proxy_address_title" msgid="4120361943254795287">"Шығыс прокси мекенжайы"</string>
-    <string name="port_title" msgid="1703586046264385110">"Порт нөмірі"</string>
-    <string name="transport_title" msgid="1661659138226029178">"Тасымалдау түрі"</string>
-    <string name="send_keepalive_title" msgid="5319788151608946049">"Keep-alive жіберу"</string>
-    <string name="advanced_settings" msgid="2704644977548662872">"Қосымша параметрлер"</string>
-    <string name="auth_username_title" msgid="9002505242616662698">"Аутентификациялау пайдаланушы аты"</string>
-    <string name="auth_username_summary" msgid="6346313945275377230">"Аутентификациялау үшін пайдаланылатын пайдаланушы аты"</string>
-    <string name="default_preference_summary_username" msgid="8788114717555599222">"&lt;Орнатылмаған&gt;"</string>
-    <string name="default_preference_summary_password" msgid="3695366978153175549">"&lt;Орнатылмаған&gt;"</string>
-    <string name="default_preference_summary_domain_address" msgid="443247296785732364">"&lt;Орнатылмаған&gt;"</string>
-    <string name="display_name_summary" msgid="6749135030093260358">"&lt;Пайдаланушы атымен бірдей&gt;"</string>
-    <string name="optional_summary" msgid="620379377865437488">"&lt;Міндетті емес&gt;"</string>
-    <string name="advanced_settings_show" msgid="2318728080037568529">"▷ Барлығын көрсету үшін түрту"</string>
-    <string name="advanced_settings_hide" msgid="6200816937370652083">"▽ Барлығын жасыру үшін түрту"</string>
-    <string name="all_empty_alert" msgid="6085603517610199098">"Жаңа SIP аккаунтының мәліметтерін енгізіңіз."</string>
-    <string name="empty_alert" msgid="3693655518612836718">"<xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> міндетті және оны бос қалдыруға болмайды."</string>
-    <string name="not_a_valid_port" msgid="3664668836663491376">"Порт нөмірі 1000 және 65534 аралығында болуы керек."</string>
-    <string name="no_internet_available" msgid="161720645084325479">"SIP қоңырауын шалу үшін алдымен интернет қосылымын тексеріңіз."</string>
-    <string name="no_wifi_available" msgid="1179092018692306312">"SIP қоңыраулары үшін Wi-Fi желісіне қосылған болуы керек («Сымсыз желі және желі параметрлері» тармағын пайдаланыңыз)."</string>
-    <string name="no_voip" msgid="3366395789297981738">"SIP қоңырауларына қолдау көрсетілмейді"</string>
-    <string name="sip_system_decide" msgid="197230378376326430">"Aвтоматты"</string>
-    <string name="sip_always_send_keepalive" msgid="4986533673960084769">"Әрқашан жіберу"</string>
-    <string name="sip_connection_service_label" msgid="8796284274240316006">"Кірістірілген SIP қоңыраулары"</string>
-</resources>
diff --git a/sip/res/values-km/strings.xml b/sip/res/values-km/strings.xml
deleted file mode 100644
index f6ef5ab..0000000
--- a/sip/res/values-km/strings.xml
+++ /dev/null
@@ -1,80 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2014 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7452587325305604702">"ការកំណត់ SIP"</string>
-    <string name="sip_accounts" msgid="7297896885665783239">"គណនី SIP"</string>
-    <string name="sip_accounts_title" msgid="3061686404598143943">"គណនី"</string>
-    <string name="sip_receive_calls" msgid="3403644006618369349">"ទទួល​ការ​ហៅ​ចូល"</string>
-    <string name="sip_receive_calls_summary" msgid="5306603671778761443">"ប្រើថាមពលថ្មច្រើនថែមទៀត"</string>
-    <string name="sip_call_options_title" msgid="5027066677561068192">"ប្រើការហៅ SIP"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6663105297927456484">"ប្រើការហៅ SIP (Wi-Fi តែប៉ុណ្ណោះ)"</string>
-    <string name="sip_call_options_entry_1" msgid="4722647332760934261">"សម្រាប់​ការ​ហៅ​ទាំងអស់ នៅ​ពេល​បណ្ដាញ​ទិន្នន័យ​អាច​ប្រើ​បាន"</string>
-    <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="sip_account_list" msgid="2596262496233721769">"គណនី SIP"</string>
-    <string name="saving_account" msgid="3390358043846687266">"កំពុង​រក្សាទុក​គណនី…"</string>
-    <string name="removing_account" msgid="1544132880414780408">"កំពុង​លុប​គណនី…"</string>
-    <string name="sip_menu_save" msgid="4377112554203123060">"រក្សាទុក"</string>
-    <string name="sip_menu_discard" msgid="1883166691772895243">"បោះបង់"</string>
-    <string name="alert_dialog_close" msgid="1734746505531110706">"បិទ​​ប្រវត្តិរូប"</string>
-    <string name="alert_dialog_ok" msgid="7806760618798687406">"យល់ព្រម"</string>
-    <string name="close_profile" msgid="3756064641769751774">"បិទ"</string>
-    <string name="registration_status_checking_status" msgid="884179594507591180">"កំពុង​ពិនិត្យ​​​ស្ថានភាព​..."</string>
-    <string name="registration_status_registering" msgid="7986331597809521791">"កំពុង​ចុះឈ្មោះ…"</string>
-    <string name="registration_status_still_trying" msgid="7178623685868766282">"នៅតែ​ព្យាយាម…"</string>
-    <string name="registration_status_not_receiving" msgid="3873074208531938401">"មិន​ទទួល​​ការ​ហៅ។"</string>
-    <string name="registration_status_no_data" msgid="2987064560116584121">"បាន​បញ្ឈប់​ការ​ចុះឈ្មោះ​គណនី ពីព្រោះ​​គ្មាន​ការ​ភ្ជាប់​អ៊ីនធឺណិត​។"</string>
-    <string name="registration_status_no_wifi_data" msgid="685470618241482948">"បាន​បញ្ឈប់​ការ​ចុះឈ្មោះ​គណនី ពី​ព្រោះ​គ្មាន​ការ​​ភ្ជាប់​វ៉ាយហ្វាយ។"</string>
-    <string name="registration_status_not_running" msgid="6236403137652262659">"បាន​បរាជ័យ​ការ​ចុះឈ្មោះ​គណនី។"</string>
-    <string name="registration_status_done" msgid="6787397199273357721">"ទទួល​ការ​ហៅ។"</string>
-    <string name="registration_status_failed_try_later" msgid="7855389184910312091">"បាន​បរាជ័យ​ការ​ចុះឈ្មោះ​គណនី​៖ ( <xliff:g id="REGISTRATION_ERROR_MESSAGE">%s</xliff:g> )​; នឹង​ព្យាយាម​នៅ​ពេល​ក្រោយ"</string>
-    <string name="registration_status_invalid_credentials" msgid="8896714049938660777">"បាន​បរាជ័យ​ការ​ចុះឈ្មោះ​គណនី៖ ឈ្មោះ​អ្នកប្រើ ​ឬ​ពាក្យសម្ងាត់​មិន​ត្រឹមត្រូវ។"</string>
-    <string name="registration_status_server_unreachable" msgid="3832339558868965604">"បាន​បរាជ័យ​ការ​ចុះឈ្មោះ​គណនី៖ សូម​ពិនិត្យ​​ឈ្មោះ​ម៉ាស៊ីន​មេ។"</string>
-    <string name="third_party_account_summary" msgid="5918779106950859167">"បច្ចុប្បន្ន​គណនី​​នេះ​កំពុង​ប្រើ​ដោយ​កម្មវិធី  <xliff:g id="ACCOUNT_OWNER">%s</xliff:g> ។"</string>
-    <string name="sip_edit_title" msgid="7438891546610820307">"ព័ត៌មាន​​លម្អិត​គណនី​ SIP"</string>
-    <string name="sip_edit_new_title" msgid="8394790068979636381">"ព័ត៌មាន​លម្អិត​គណនី​ SIP"</string>
-    <string name="domain_address_title" msgid="8238078615181248579">"ម៉ាស៊ីន​មេ"</string>
-    <string name="username_title" msgid="298416796886107970">"ឈ្មោះ​អ្នកប្រើ"</string>
-    <string name="password_title" msgid="8035579335591959021">"ពាក្យសម្ងាត់"</string>
-    <string name="display_name_title" msgid="3730105783656830160">"​ឈ្មោះដែល​បង្ហាញ"</string>
-    <string name="proxy_address_title" msgid="4120361943254795287">"អាសយដ្ឋាន​ប្រូកស៊ី​ចេញ"</string>
-    <string name="port_title" msgid="1703586046264385110">"លេខ​ច្រក"</string>
-    <string name="transport_title" msgid="1661659138226029178">"ប្រភេទ​បញ្ជូន"</string>
-    <string name="send_keepalive_title" msgid="5319788151608946049">"​ផ្ញើសារពិនិត្យបន្ត"</string>
-    <string name="advanced_settings" msgid="2704644977548662872">"ការ​កំណត់​​ជា​​ជម្រើស"</string>
-    <string name="auth_username_title" msgid="9002505242616662698">"ឈ្មោះ​អ្នកប្រើ​​ប្រាស់​សម្រាប់​​ផ្ទៀងផ្ទាត់"</string>
-    <string name="auth_username_summary" msgid="6346313945275377230">"ឈ្មោះ​អ្នកប្រើប្រាស់​ដែលបាន​ប្រើ​សម្រាប់​​​ផ្ទៀងផ្ទាត់"</string>
-    <string name="default_preference_summary_username" msgid="8788114717555599222">"&lt;មិន​បាន​កំណត់&gt;"</string>
-    <string name="default_preference_summary_password" msgid="3695366978153175549">"&lt;មិន​បាន​កំណត់&gt;"</string>
-    <string name="default_preference_summary_domain_address" msgid="443247296785732364">"&lt;មិន​បាន​កំណត់&gt;"</string>
-    <string name="display_name_summary" msgid="6749135030093260358">"&lt;ដូច​ឈ្មោះ​អ្នកប្រើ&gt;"</string>
-    <string name="optional_summary" msgid="620379377865437488">"&lt;ជា​ជម្រើស&gt;"</string>
-    <string name="advanced_settings_show" msgid="2318728080037568529">"▷ ចុចដើម្បី​បង្ហាញ​ទាំងអស់"</string>
-    <string name="advanced_settings_hide" msgid="6200816937370652083">"▽ ចុចដើម្បី​លាក់​ទាំងអស់"</string>
-    <string name="all_empty_alert" msgid="6085603517610199098">"បញ្ចូលព័ត៌មានលម្អិតអំពីគណនី SIP ថ្មី"</string>
-    <string name="empty_alert" msgid="3693655518612836718">"មិន​​អាច​ទុក​ឲ្យ​នៅ​ទទេ និង​បាន​ទាមទារ <xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> ។"</string>
-    <string name="not_a_valid_port" msgid="3664668836663491376">"លេខ​ច្រក​គួរតែ​នៅ​ចន្លោះ ១០០០ និង ៦៥៥៣៤។"</string>
-    <string name="no_internet_available" msgid="161720645084325479">"ដើម្បីដាក់ការហៅ SIP ពិនិត្យការភ្ជាប់អ៊ីនធឺណិតរបស់អ្នកជាមុនសិន។"</string>
-    <string name="no_wifi_available" msgid="1179092018692306312">"អ្នកត្រូវភ្ជាប់ទៅបណ្តាញ Wi-Fi សម្រាប់ការហៅ SIP (ប្រើការកំណត់បណ្តាញឥតខ្សែ)។"</string>
-    <string name="no_voip" msgid="3366395789297981738">"ការហៅ SIP មិនត្រូវបានគាំទ្រទេ"</string>
-    <string name="sip_system_decide" msgid="197230378376326430">"ស្វ័យប្រវត្តិ"</string>
-    <string name="sip_always_send_keepalive" msgid="4986533673960084769">"ផ្ញើ​ជានិច្ច"</string>
-    <string name="sip_connection_service_label" msgid="8796284274240316006">"ភ្ជាប់មកជាមួយការហៅ SIP"</string>
-</resources>
diff --git a/sip/res/values-kn/strings.xml b/sip/res/values-kn/strings.xml
deleted file mode 100644
index 99fe93e..0000000
--- a/sip/res/values-kn/strings.xml
+++ /dev/null
@@ -1,80 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2014 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7452587325305604702">"ಎಸ್‌ಐಪಿ ಸೆಟ್ಟಿಂಗ್‌ಗಳು"</string>
-    <string name="sip_accounts" msgid="7297896885665783239">"ಎಸ್‌ಐಪಿ ಖಾತೆಗಳು"</string>
-    <string name="sip_accounts_title" msgid="3061686404598143943">"ಖಾತೆಗಳು"</string>
-    <string name="sip_receive_calls" msgid="3403644006618369349">"ಒಳಬರುವ ಕರೆಗಳನ್ನು ಸ್ವೀಕರಿಸಿ"</string>
-    <string name="sip_receive_calls_summary" msgid="5306603671778761443">"ಹೆಚ್ಚು ಬ್ಯಾಟರಿಯನ್ನು ಬಳಸುತ್ತದೆ"</string>
-    <string name="sip_call_options_title" msgid="5027066677561068192">"ಎಸ್‌ಐಪಿ ಕರೆ ಮಾಡುವಿಕೆಯನ್ನು ಬಳಸಿ"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6663105297927456484">"ಎಸ್‌ಐಪಿ ಕರೆ ಮಾಡುವಿಕೆಯನ್ನು ಬಳಸಿ (ವೈ-ಫೈ ಮಾತ್ರ)"</string>
-    <string name="sip_call_options_entry_1" msgid="4722647332760934261">"ಡೇಟಾ ನೆಟ್‌ವರ್ಕ್‌ ಲಭ್ಯವಿರುವಾಗ ಎಲ್ಲ ಕರೆಗಳಿಗಾಗಿ"</string>
-    <string name="sip_call_options_entry_2" msgid="7338504256051655013">"ಕೇವಲ ಎಸ್‌ಐಪಿ ಕರೆಗಳಿಗೆ ಮಾತ್ರ"</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="sip_account_list" msgid="2596262496233721769">"ಎಸ್‌ಐಪಿ ಖಾತೆಗಳು"</string>
-    <string name="saving_account" msgid="3390358043846687266">"ಖಾತೆಯನ್ನು ಉಳಿಸಲಾಗುತ್ತಿದೆ…"</string>
-    <string name="removing_account" msgid="1544132880414780408">"ಖಾತೆಯನ್ನು ತೆಗೆದುಹಾಕಲಾಗುತ್ತಿದೆ…"</string>
-    <string name="sip_menu_save" msgid="4377112554203123060">"ಉಳಿಸು"</string>
-    <string name="sip_menu_discard" msgid="1883166691772895243">"ತಿರಸ್ಕರಿಸು"</string>
-    <string name="alert_dialog_close" msgid="1734746505531110706">"ಪ್ರೊಫೈಲ್ ಮುಚ್ಚಿ"</string>
-    <string name="alert_dialog_ok" msgid="7806760618798687406">"ಸರಿ"</string>
-    <string name="close_profile" msgid="3756064641769751774">"ಮುಚ್ಚು"</string>
-    <string name="registration_status_checking_status" msgid="884179594507591180">"ಸ್ಥಿತಿಯನ್ನು ಪರಿಶೀಲಿಸಲಾಗುತ್ತಿದೆ..."</string>
-    <string name="registration_status_registering" msgid="7986331597809521791">"ನೋಂದಣಿ ಮಾಡಲಾಗುತ್ತಿದೆ…"</string>
-    <string name="registration_status_still_trying" msgid="7178623685868766282">"ಇನ್ನೂ ಪ್ರಯತ್ನಿಸಲಾಗುತ್ತಿದೆ…"</string>
-    <string name="registration_status_not_receiving" msgid="3873074208531938401">"ಕರೆಗಳನ್ನು ಸ್ವೀಕರಿಸುತ್ತಿಲ್ಲ."</string>
-    <string name="registration_status_no_data" msgid="2987064560116584121">"ಇಂಟರ್ನೆಟ್ ಸಂಪರ್ಕವಿಲ್ಲದ ಕಾರಣ ಖಾತೆ ನೋಂದಣಿಯನ್ನು ನಿಲ್ಲಿಸಲಾಗಿದೆ."</string>
-    <string name="registration_status_no_wifi_data" msgid="685470618241482948">"ವೈ-ಫೈ ಸಂಪರ್ಕವಿಲ್ಲದ ಕಾರಣ ಖಾತೆ ನೋಂದಣಿಯನ್ನು ನಿಲ್ಲಿಸಲಾಗಿದೆ."</string>
-    <string name="registration_status_not_running" msgid="6236403137652262659">"ಖಾತೆ ನೋಂದಣಿಯು ಯಶಸ್ವಿಯಾಗಲಿಲ್ಲ."</string>
-    <string name="registration_status_done" msgid="6787397199273357721">"ಕರೆಗಳನ್ನು ಸ್ವೀಕರಿಸಲಾಗುತ್ತಿದೆ."</string>
-    <string name="registration_status_failed_try_later" msgid="7855389184910312091">"ಖಾತೆ ನೋಂದಣಿಯು ಯಶಸ್ವಿಯಾಗಿಲ್ಲ: (<xliff:g id="REGISTRATION_ERROR_MESSAGE">%s</xliff:g>); ನಂತರ ಪ್ರಯತ್ನಿಸುತ್ತೇನೆ"</string>
-    <string name="registration_status_invalid_credentials" msgid="8896714049938660777">"ಖಾತೆ ನೋಂದಣಿಯು ಯಶಸ್ವಿಯಾಗಲಿಲ್ಲ: ಬಳಕೆದಾರರ ಹೆಸರು ಅಥವಾ ಪಾಸ್‌ವರ್ಡ್‌ ತಪ್ಪಾಗಿದೆ."</string>
-    <string name="registration_status_server_unreachable" msgid="3832339558868965604">"ಖಾತೆ ನೋಂದಣಿಯು ಯಶಸ್ವಿಯಾಗಲಿಲ್ಲ: ಸರ್ವರ್‌ ಹೆಸರನ್ನು ಪರಿಶೀಲಿಸಿ."</string>
-    <string name="third_party_account_summary" msgid="5918779106950859167">"ಈ ಖಾತೆಯನ್ನು ಪ್ರಸ್ತುತ <xliff:g id="ACCOUNT_OWNER">%s</xliff:g> ಅಪ್ಲಿಕೇಶನ್‌ ಬಳಸುತ್ತಿದೆ."</string>
-    <string name="sip_edit_title" msgid="7438891546610820307">"ಎಸ್‌ಐಪಿ ಖಾತೆ ವಿವರಗಳು"</string>
-    <string name="sip_edit_new_title" msgid="8394790068979636381">"ಎಸ್‌ಐಪಿ ಖಾತೆ ವಿವರಗಳು"</string>
-    <string name="domain_address_title" msgid="8238078615181248579">"ಸರ್ವರ್"</string>
-    <string name="username_title" msgid="298416796886107970">"ಬಳಕೆದಾರಹೆಸರು"</string>
-    <string name="password_title" msgid="8035579335591959021">"ಪಾಸ್‌ವರ್ಡ್"</string>
-    <string name="display_name_title" msgid="3730105783656830160">"ಪ್ರದರ್ಶನ ಹೆಸರು"</string>
-    <string name="proxy_address_title" msgid="4120361943254795287">"ಹೊರಹೋಗುವ ಪ್ರಾಕ್ಸಿ ವಿಳಾಸ"</string>
-    <string name="port_title" msgid="1703586046264385110">"ಪೋರ್ಟ್ ಸಂಖ್ಯೆ"</string>
-    <string name="transport_title" msgid="1661659138226029178">"ಸಾರಿಗೆ ಪ್ರಕಾರ"</string>
-    <string name="send_keepalive_title" msgid="5319788151608946049">"ಕೀಪ್‍‍‍‍-‍ಅಲೈವ್ ಅನ್ನು ಕಳುಹಿಸಿ"</string>
-    <string name="advanced_settings" msgid="2704644977548662872">"ಐಚ್ಛಿಕ ಸೆಟ್ಟಿಂಗ್‌ಗಳು"</string>
-    <string name="auth_username_title" msgid="9002505242616662698">"ದೃಢೀಕರಣ ಬಳಕೆದಾರಹೆಸರು"</string>
-    <string name="auth_username_summary" msgid="6346313945275377230">"ದೃಢೀಕರಣಕ್ಕಾಗಿ ಬಳಕೆದಾರ ಹೆಸರನ್ನು ಬಳಸಲಾಗಿದೆ"</string>
-    <string name="default_preference_summary_username" msgid="8788114717555599222">"&lt;ಹೊಂದಿಸಿಲ್ಲ&gt;"</string>
-    <string name="default_preference_summary_password" msgid="3695366978153175549">"&lt;ಹೊಂದಿಸಿಲ್ಲ&gt;"</string>
-    <string name="default_preference_summary_domain_address" msgid="443247296785732364">"&lt;ಹೊಂದಿಸಿಲ್ಲ&gt;"</string>
-    <string name="display_name_summary" msgid="6749135030093260358">"&lt;ಬಳಕೆದಾರ ಹೆಸರಿನಂತೆ&gt;"</string>
-    <string name="optional_summary" msgid="620379377865437488">"&lt;ಐಚ್ಛಿಕ&gt;"</string>
-    <string name="advanced_settings_show" msgid="2318728080037568529">"▷ ಎಲ್ಲವನ್ನೂ ತೋರಿಸಲು ಸ್ಪರ್ಶಿಸಿ"</string>
-    <string name="advanced_settings_hide" msgid="6200816937370652083">"▽ ಎಲ್ಲವನ್ನೂ ಮರೆಮಾಡಲು ಸ್ಪರ್ಶಿಸಿ"</string>
-    <string name="all_empty_alert" msgid="6085603517610199098">"ಹೊಸ ಎಸ್‌ಐಪಿ ಖಾತೆಯ ವಿವರಗಳನ್ನು ನಮೂದಿಸಿ."</string>
-    <string name="empty_alert" msgid="3693655518612836718">"<xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> ಅಗತ್ಯವಿದೆ ಮತ್ತು ಖಾಲಿ ಬಿಡುವಂತಿಲ್ಲ."</string>
-    <string name="not_a_valid_port" msgid="3664668836663491376">"ಪೋರ್ಟ್‌ ಸಂಖ್ಯೆಯು 1000 ಮತ್ತು 65534 ರ ವ್ಯಾಪ್ತಿಯೊಳಗಿರಬೇಕು."</string>
-    <string name="no_internet_available" msgid="161720645084325479">"ಎಸ್‌ಐಪಿ ಕರೆ ಮಾಡಲು, ಮೊದಲು ನಿಮ್ಮ ಇಂಟರ್ನೆಟ್ ಸಂಪರ್ಕವನ್ನು ಪರಿಶೀಲಿಸಿ."</string>
-    <string name="no_wifi_available" msgid="1179092018692306312">"ಎಸ್‌ಐಪಿ ಕರೆಗಳಿಗಾಗಿ ನೀವು ವೈ-ಫೈ ನೆಟ್‌ವರ್ಕ್‌ಗೆ ಸಂಪರ್ಕಗೊಂಡಿರುವ ಅಗತ್ಯವಿದೆ (ವೈರ್‌ಲೆಸ್ &amp; ನೆಟ್‌ವರ್ಕ್ ಸೆಟ್ಟಿಂಗ್‌ಗಳನ್ನು ಬಳಸಿ)."</string>
-    <string name="no_voip" msgid="3366395789297981738">"ಎಸ್‌ಐಪಿ ಕರೆ ಮಾಡುವಿಕೆ ಬೆಂಬಲಿತವಾಗಿಲ್ಲ"</string>
-    <string name="sip_system_decide" msgid="197230378376326430">"ಸ್ವಯಂಚಾಲಿತ"</string>
-    <string name="sip_always_send_keepalive" msgid="4986533673960084769">"ಯಾವಾಗಲೂ ಕಳುಹಿಸು"</string>
-    <string name="sip_connection_service_label" msgid="8796284274240316006">"ಅಂತರ್ನಿರ್ಮಿತ ಎಸ್‌ಐಪಿ ಕರೆ ಮಾಡುವಿಕೆ"</string>
-</resources>
diff --git a/sip/res/values-ko/strings.xml b/sip/res/values-ko/strings.xml
deleted file mode 100644
index bf41537..0000000
--- a/sip/res/values-ko/strings.xml
+++ /dev/null
@@ -1,80 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2014 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7452587325305604702">"SIP 설정"</string>
-    <string name="sip_accounts" msgid="7297896885665783239">"SIP 계정"</string>
-    <string name="sip_accounts_title" msgid="3061686404598143943">"계정"</string>
-    <string name="sip_receive_calls" msgid="3403644006618369349">"수신전화 받기"</string>
-    <string name="sip_receive_calls_summary" msgid="5306603671778761443">"배터리가 더 많이 소모됨"</string>
-    <string name="sip_call_options_title" msgid="5027066677561068192">"SIP 통화 사용"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6663105297927456484">"SIP 통화 사용(Wi-Fi 전용)"</string>
-    <string name="sip_call_options_entry_1" msgid="4722647332760934261">"데이터 네트워크 사용 가능 시 모든 통화에 사용"</string>
-    <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="sip_account_list" msgid="2596262496233721769">"SIP 계정"</string>
-    <string name="saving_account" msgid="3390358043846687266">"계정 저장 중..."</string>
-    <string name="removing_account" msgid="1544132880414780408">"계정 삭제 중..."</string>
-    <string name="sip_menu_save" msgid="4377112554203123060">"저장"</string>
-    <string name="sip_menu_discard" msgid="1883166691772895243">"삭제"</string>
-    <string name="alert_dialog_close" msgid="1734746505531110706">"프로필 닫기"</string>
-    <string name="alert_dialog_ok" msgid="7806760618798687406">"확인"</string>
-    <string name="close_profile" msgid="3756064641769751774">"닫기"</string>
-    <string name="registration_status_checking_status" msgid="884179594507591180">"상태 확인 중..."</string>
-    <string name="registration_status_registering" msgid="7986331597809521791">"등록 중..."</string>
-    <string name="registration_status_still_trying" msgid="7178623685868766282">"계속 시도 중..."</string>
-    <string name="registration_status_not_receiving" msgid="3873074208531938401">"전화를 수신하지 않습니다."</string>
-    <string name="registration_status_no_data" msgid="2987064560116584121">"인터넷에 연결되어 있지 않기 때문에 계정 등록이 중지되었습니다."</string>
-    <string name="registration_status_no_wifi_data" msgid="685470618241482948">"Wi-Fi에 연결되어 있지 않기 때문에 계정 등록이 중지되었습니다."</string>
-    <string name="registration_status_not_running" msgid="6236403137652262659">"계정을 등록하지 못했습니다."</string>
-    <string name="registration_status_done" msgid="6787397199273357721">"전화를 수신합니다."</string>
-    <string name="registration_status_failed_try_later" msgid="7855389184910312091">"계정을 등록하지 못했습니다(<xliff:g id="REGISTRATION_ERROR_MESSAGE">%s</xliff:g>). 나중에 다시 시도합니다."</string>
-    <string name="registration_status_invalid_credentials" msgid="8896714049938660777">"계정을 등록하지 못했습니다. 사용자 이름 또는 비밀번호가 잘못되었습니다."</string>
-    <string name="registration_status_server_unreachable" msgid="3832339558868965604">"계정을 등록하지 못했습니다. 서버 이름을 확인하세요."</string>
-    <string name="third_party_account_summary" msgid="5918779106950859167">"<xliff:g id="ACCOUNT_OWNER">%s</xliff:g> 앱에서 현재 이 계정을 사용 중입니다."</string>
-    <string name="sip_edit_title" msgid="7438891546610820307">"SIP 계정 정보"</string>
-    <string name="sip_edit_new_title" msgid="8394790068979636381">"SIP 계정 정보"</string>
-    <string name="domain_address_title" msgid="8238078615181248579">"서버"</string>
-    <string name="username_title" msgid="298416796886107970">"사용자 이름"</string>
-    <string name="password_title" msgid="8035579335591959021">"비밀번호"</string>
-    <string name="display_name_title" msgid="3730105783656830160">"표시 이름"</string>
-    <string name="proxy_address_title" msgid="4120361943254795287">"발신 프록시 주소"</string>
-    <string name="port_title" msgid="1703586046264385110">"포트 번호"</string>
-    <string name="transport_title" msgid="1661659138226029178">"전송 유형"</string>
-    <string name="send_keepalive_title" msgid="5319788151608946049">"연결 유지 메시지 보내기"</string>
-    <string name="advanced_settings" msgid="2704644977548662872">"설정(선택사항)"</string>
-    <string name="auth_username_title" msgid="9002505242616662698">"인증 사용자 이름"</string>
-    <string name="auth_username_summary" msgid="6346313945275377230">"인증에 사용된 사용자 이름"</string>
-    <string name="default_preference_summary_username" msgid="8788114717555599222">"&lt;설정 안됨&gt;"</string>
-    <string name="default_preference_summary_password" msgid="3695366978153175549">"&lt;설정 안됨&gt;"</string>
-    <string name="default_preference_summary_domain_address" msgid="443247296785732364">"&lt;설정 안됨&gt;"</string>
-    <string name="display_name_summary" msgid="6749135030093260358">"&lt;사용자 이름과 동일&gt;"</string>
-    <string name="optional_summary" msgid="620379377865437488">"&lt;선택사항&gt;"</string>
-    <string name="advanced_settings_show" msgid="2318728080037568529">"▷ 모두 표시하려면 터치"</string>
-    <string name="advanced_settings_hide" msgid="6200816937370652083">"▽ 모두 숨기려면 터치"</string>
-    <string name="all_empty_alert" msgid="6085603517610199098">"새 SIP 계정의 세부정보를 입력하세요."</string>
-    <string name="empty_alert" msgid="3693655518612836718">"<xliff:g id="INPUT_FIELD_NAME">%s</xliff:g>은(는) 필수이므로 비워 둘 수 없습니다."</string>
-    <string name="not_a_valid_port" msgid="3664668836663491376">"포트 번호는 1000~65534 사이여야 합니다."</string>
-    <string name="no_internet_available" msgid="161720645084325479">"SIP 통화를 하려면 먼저 인터넷 연결을 확인하세요."</string>
-    <string name="no_wifi_available" msgid="1179092018692306312">"SIP 통화를 사용하려면 Wi-Fi 네트워크에 연결해야 합니다(무선 및 네트워크 설정 사용)."</string>
-    <string name="no_voip" msgid="3366395789297981738">"SIP 통화가 지원되지 않습니다."</string>
-    <string name="sip_system_decide" msgid="197230378376326430">"자동"</string>
-    <string name="sip_always_send_keepalive" msgid="4986533673960084769">"항상 보내기"</string>
-    <string name="sip_connection_service_label" msgid="8796284274240316006">"SIP 통화 기본 지원"</string>
-</resources>
diff --git a/sip/res/values-ky/strings.xml b/sip/res/values-ky/strings.xml
deleted file mode 100644
index ab37d84..0000000
--- a/sip/res/values-ky/strings.xml
+++ /dev/null
@@ -1,80 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2014 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7452587325305604702">"SIP жөндөөлөрү"</string>
-    <string name="sip_accounts" msgid="7297896885665783239">"SIP аккаунттары"</string>
-    <string name="sip_accounts_title" msgid="3061686404598143943">"Аккаунттар"</string>
-    <string name="sip_receive_calls" msgid="3403644006618369349">"Келген чалууларды кабыл алуу"</string>
-    <string name="sip_receive_calls_summary" msgid="5306603671778761443">"Батареянын кубаты көбүрөөк керектелет"</string>
-    <string name="sip_call_options_title" msgid="5027066677561068192">"SIP аркылуу чалуу"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6663105297927456484">"SIP аркылуу чалуу (Wi-Fi гана)"</string>
-    <string name="sip_call_options_entry_1" msgid="4722647332760934261">"Дайындар тармагы жеткиликтүү болгон учурдагы бардык чалуулар үчүн"</string>
-    <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="sip_account_list" msgid="2596262496233721769">"SIP аккаунттары"</string>
-    <string name="saving_account" msgid="3390358043846687266">"Аккаунт сакталууда…"</string>
-    <string name="removing_account" msgid="1544132880414780408">"Аккаунт жок кылынууда…"</string>
-    <string name="sip_menu_save" msgid="4377112554203123060">"Сактоо"</string>
-    <string name="sip_menu_discard" msgid="1883166691772895243">"Жокко чыгаруу"</string>
-    <string name="alert_dialog_close" msgid="1734746505531110706">"Профилди жабуу"</string>
-    <string name="alert_dialog_ok" msgid="7806760618798687406">"OK"</string>
-    <string name="close_profile" msgid="3756064641769751774">"Жабуу"</string>
-    <string name="registration_status_checking_status" msgid="884179594507591180">"Абалы текшерилүүдө…"</string>
-    <string name="registration_status_registering" msgid="7986331597809521791">"Катталууда…"</string>
-    <string name="registration_status_still_trying" msgid="7178623685868766282">"Дагы эле аракет жасалууда…"</string>
-    <string name="registration_status_not_receiving" msgid="3873074208531938401">"Чалуулар кабыл алынбайт"</string>
-    <string name="registration_status_no_data" msgid="2987064560116584121">"Интернет жок болгондуктан, эсепти каттоо аракети токтотулду."</string>
-    <string name="registration_status_no_wifi_data" msgid="685470618241482948">"Wi-Fi байланышы жок болгондуктан, эсепти каттоо аракети токтотулду."</string>
-    <string name="registration_status_not_running" msgid="6236403137652262659">"Эсеп катталбай калды."</string>
-    <string name="registration_status_done" msgid="6787397199273357721">"Чалуулар кабыл алынат."</string>
-    <string name="registration_status_failed_try_later" msgid="7855389184910312091">"Эсеп катталбай калды: (<xliff:g id="REGISTRATION_ERROR_MESSAGE">%s</xliff:g>); бир аздан кийин дагы бир жолу аракет жасалат"</string>
-    <string name="registration_status_invalid_credentials" msgid="8896714049938660777">"Эсеп катталбай калды: Колдонуучунун ысымы же сырсөзү туура эмес."</string>
-    <string name="registration_status_server_unreachable" msgid="3832339558868965604">"Эсеп катталбай калды. Сервердин аталышын текшериңиз."</string>
-    <string name="third_party_account_summary" msgid="5918779106950859167">"Бул каттоэсепти учурда <xliff:g id="ACCOUNT_OWNER">%s</xliff:g> колдонмосу пайдаланууда."</string>
-    <string name="sip_edit_title" msgid="7438891546610820307">"SIP аккаунтунун чоо-жайы"</string>
-    <string name="sip_edit_new_title" msgid="8394790068979636381">"SIP аккаунтунун чоо-жайы"</string>
-    <string name="domain_address_title" msgid="8238078615181248579">"Сервер"</string>
-    <string name="username_title" msgid="298416796886107970">"Колдонуучу ысымы"</string>
-    <string name="password_title" msgid="8035579335591959021">"Сырсөз"</string>
-    <string name="display_name_title" msgid="3730105783656830160">"Экрандын аталышы"</string>
-    <string name="proxy_address_title" msgid="4120361943254795287">"Чыгуучу прокси дареги"</string>
-    <string name="port_title" msgid="1703586046264385110">"Порт номери"</string>
-    <string name="transport_title" msgid="1661659138226029178">"Протокол"</string>
-    <string name="send_keepalive_title" msgid="5319788151608946049">"Keep-alive жөнөтүү"</string>
-    <string name="advanced_settings" msgid="2704644977548662872">"Кошумча жөндөөлөр"</string>
-    <string name="auth_username_title" msgid="9002505242616662698">"Аныктыкты текшерүүчү колдонуучунун ысымы"</string>
-    <string name="auth_username_summary" msgid="6346313945275377230">"Колдонуучунун ысымы аныктыкты текшерүү үчүн колдонулат"</string>
-    <string name="default_preference_summary_username" msgid="8788114717555599222">"&lt;Коюлган эмес&gt;"</string>
-    <string name="default_preference_summary_password" msgid="3695366978153175549">"&lt;Коюлган эмес&gt;"</string>
-    <string name="default_preference_summary_domain_address" msgid="443247296785732364">"&lt;Коюлган эмес&gt;"</string>
-    <string name="display_name_summary" msgid="6749135030093260358">"&lt;Колдонуучунун ысымына окшош&gt;"</string>
-    <string name="optional_summary" msgid="620379377865437488">"&lt;Кошумча&gt;"</string>
-    <string name="advanced_settings_show" msgid="2318728080037568529">"▷ Баарын көрсөтүү үчүн тийип коюңуз"</string>
-    <string name="advanced_settings_hide" msgid="6200816937370652083">"▽ Баарын жашыруу үчүн тийип коюңуз"</string>
-    <string name="all_empty_alert" msgid="6085603517610199098">"Жаңы SIP аккаунтунун чоо-жайын киргизиңиз."</string>
-    <string name="empty_alert" msgid="3693655518612836718">"<xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> талап кылынат жана бош калтырганга болбойт."</string>
-    <string name="not_a_valid_port" msgid="3664668836663491376">"Порттун номери 1000 баштап 65534 чейин болушу керек."</string>
-    <string name="no_internet_available" msgid="161720645084325479">"SIP чалуу жайгаштыруу үчүн, адегенде Интернет туташууңузду текшериңиз."</string>
-    <string name="no_wifi_available" msgid="1179092018692306312">"SIP чалууларын жасоо үчүн Wi-Fi тармагына туташышыңыз керек (Зымсыз &amp; Тармак жөндөөлөрүн пайдаланыңыз)."</string>
-    <string name="no_voip" msgid="3366395789297981738">"SIP чалуу колдоого алынбайт"</string>
-    <string name="sip_system_decide" msgid="197230378376326430">"Автоматтык"</string>
-    <string name="sip_always_send_keepalive" msgid="4986533673960084769">"Ар дайым жөнөтүлсүн"</string>
-    <string name="sip_connection_service_label" msgid="8796284274240316006">"Камтылган SIP чалуу"</string>
-</resources>
diff --git a/sip/res/values-lo/strings.xml b/sip/res/values-lo/strings.xml
deleted file mode 100644
index 17e7905..0000000
--- a/sip/res/values-lo/strings.xml
+++ /dev/null
@@ -1,80 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2014 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7452587325305604702">"ການ​ຕັ້ງ​ຄ່າ SIP"</string>
-    <string name="sip_accounts" msgid="7297896885665783239">"ບັນ​ຊີ SIP"</string>
-    <string name="sip_accounts_title" msgid="3061686404598143943">"ບັນຊີ"</string>
-    <string name="sip_receive_calls" msgid="3403644006618369349">"ຮັບ​ສາຍ​ໂທ​ເຂົ້າ"</string>
-    <string name="sip_receive_calls_summary" msgid="5306603671778761443">"ໃຊ້​ອາ​ຍຸ​ແບັດ​ເຕີ​ຣີ​ເພີ່ມ​ເຕີມ"</string>
-    <string name="sip_call_options_title" msgid="5027066677561068192">"ໃຊ້​ການ​ໂທ SIP"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6663105297927456484">"ໃຊ້​ການ​ໂທ SIP (Wi-Fi ເທົ່າ​ນັ້ນ)"</string>
-    <string name="sip_call_options_entry_1" msgid="4722647332760934261">"ສຳລັບ​ທຸກສາຍເມື່ອສາມາດ​ໃຊ້ຂໍ້ມູນ​ເຄືອຂ່າຍ​ໄດ້"</string>
-    <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="sip_account_list" msgid="2596262496233721769">"ບັນ​ຊີ SIP"</string>
-    <string name="saving_account" msgid="3390358043846687266">"ກຳລັງບັນທຶກບັນຊີ..."</string>
-    <string name="removing_account" msgid="1544132880414780408">"ກຳລັງລຶບບັນຊີ..."</string>
-    <string name="sip_menu_save" msgid="4377112554203123060">"ບັນທຶກ"</string>
-    <string name="sip_menu_discard" msgid="1883166691772895243">"ຍົກເລີກ"</string>
-    <string name="alert_dialog_close" msgid="1734746505531110706">"ປິດ​ໂປຣໄຟລ໌"</string>
-    <string name="alert_dialog_ok" msgid="7806760618798687406">"ຕົກລົງ"</string>
-    <string name="close_profile" msgid="3756064641769751774">"ປິດ"</string>
-    <string name="registration_status_checking_status" msgid="884179594507591180">"ກຳລັງ​ກວດສອບ​ສະຖານະ..."</string>
-    <string name="registration_status_registering" msgid="7986331597809521791">"ກຳລັງ​ລົງທະບຽນ..."</string>
-    <string name="registration_status_still_trying" msgid="7178623685868766282">"ຍັງຄົງພະຍາຍາມຢູ່..."</string>
-    <string name="registration_status_not_receiving" msgid="3873074208531938401">"ບໍ່ຮັບສາຍ."</string>
-    <string name="registration_status_no_data" msgid="2987064560116584121">"ຢຸດ​ການ​ລົງທະບຽນ​ເນື່ອງຈາກບໍ່ມີ​ການເຊື່ອມຕໍ່​ອິນເຕີເນັດ."</string>
-    <string name="registration_status_no_wifi_data" msgid="685470618241482948">"ການລົງ​ທະບຽນ​ບັນຊີຢຸດເຮັດວຽກ​ເນື່ອງຈາກ​ບໍ່ມີການ​ເຊື່ອມຕໍ່ Wi-Fi."</string>
-    <string name="registration_status_not_running" msgid="6236403137652262659">"ການ​ລົງທະບຽນ​ບັນຊີ​ບໍ່ສຳເລັດ."</string>
-    <string name="registration_status_done" msgid="6787397199273357721">"ຮັບສາຍ."</string>
-    <string name="registration_status_failed_try_later" msgid="7855389184910312091">"ການ​ລົງທະບຽນ​ບັນຊີ​ບໍ່ສຳເລັດ: (<xliff:g id="REGISTRATION_ERROR_MESSAGE">%s</xliff:g>); ຈະ​ລອງ​ໃໝ່​ໃນ​ພາຍຫຼັງ"</string>
-    <string name="registration_status_invalid_credentials" msgid="8896714049938660777">"ການ​ລົງທະບຽນ​ບັນຊີ​ບໍ່ສຳເລັດ: ຊື່ຜູ້ໃຊ້ ຫຼື​ລະຫັດຜ່ານ​ບໍ່ຖືກຕ້ອງ."</string>
-    <string name="registration_status_server_unreachable" msgid="3832339558868965604">"ການ​ລົງທະບຽນ​ບັນຊີ​ບໍ່​ສຳເລັດ: ກະລຸນາ​ກວດສອບ​ຊື່​ເຊີບເວີ."</string>
-    <string name="third_party_account_summary" msgid="5918779106950859167">"ແອັບຯ <xliff:g id="ACCOUNT_OWNER">%s</xliff:g> ກຳລັງໃຊ້ບັນຊີນີ້ຢູ່"</string>
-    <string name="sip_edit_title" msgid="7438891546610820307">"ລາຍລະອຽດບັນຊີ SIP"</string>
-    <string name="sip_edit_new_title" msgid="8394790068979636381">"ລາຍລະອຽດບັນຊີ SIP"</string>
-    <string name="domain_address_title" msgid="8238078615181248579">"ເຊີບເວີ"</string>
-    <string name="username_title" msgid="298416796886107970">"ຊື່ຜູ້ໃຊ້"</string>
-    <string name="password_title" msgid="8035579335591959021">"ລະຫັດຜ່ານ"</string>
-    <string name="display_name_title" msgid="3730105783656830160">"ຊື່ທີ່ສະແດງ"</string>
-    <string name="proxy_address_title" msgid="4120361943254795287">"ທີ່ຢູ່ Proxy ຂາອອກ"</string>
-    <string name="port_title" msgid="1703586046264385110">"ໝາຍເລກຜອດ"</string>
-    <string name="transport_title" msgid="1661659138226029178">"ປະເພດການສົ່ງຂໍ້ມູນ"</string>
-    <string name="send_keepalive_title" msgid="5319788151608946049">"ສົ່ງ keep-alive"</string>
-    <string name="advanced_settings" msgid="2704644977548662872">"ການ​ຕັ້ງ​ຄ່າທາງ​ເລືອກ​ເສີມ"</string>
-    <string name="auth_username_title" msgid="9002505242616662698">"ຊື່​ຜູ້ໃຊ້​ສຳລັບ​ການ​ພິສູດ​ຢືນຢັນ​ຕົວ"</string>
-    <string name="auth_username_summary" msgid="6346313945275377230">"ຊື່​ຜູ້ໃຊ້​ເພື່ອ​ການ​ພິສູດ​ຢືນຢັນ​ຕົວ"</string>
-    <string name="default_preference_summary_username" msgid="8788114717555599222">"&lt;ບໍ່ໄດ້ຕັ້ງ&gt;"</string>
-    <string name="default_preference_summary_password" msgid="3695366978153175549">"&lt;ບໍ່ໄດ້ຕັ້ງ&gt;"</string>
-    <string name="default_preference_summary_domain_address" msgid="443247296785732364">"&lt;ບໍ່ໄດ້ຕັ້ງ&gt;"</string>
-    <string name="display_name_summary" msgid="6749135030093260358">"&lt;ອັນດຽວກັບຊື່ຜູ້ໃຊ້&gt;"</string>
-    <string name="optional_summary" msgid="620379377865437488">"&lt;ໂຕເລືອກເສີມ&gt;"</string>
-    <string name="advanced_settings_show" msgid="2318728080037568529">"▷ ແຕະ​ເພື່ອ​ສະແດງ​ທັງໝົດ"</string>
-    <string name="advanced_settings_hide" msgid="6200816937370652083">"▽ ແຕະ​ເພື່ອ​ເຊື່ອງ​ທັງໝົດ"</string>
-    <string name="all_empty_alert" msgid="6085603517610199098">"ປ້ອນ​ລາຍ​ລະ​ອຽດ​ຂອງ​ບັນ​ຊີ SIP ໃໝ່​ເຂົ້າ​ໄປ."</string>
-    <string name="empty_alert" msgid="3693655518612836718">"ຕ້ອງ​ລະບຸ <xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> ແລະ​ບໍ່​ສາມາດ​ປ່ອຍ​ຫວ່າງ​ໄດ້."</string>
-    <string name="not_a_valid_port" msgid="3664668836663491376">"ໝາຍ​ເລກ​ພອດ​ຄວນ​ຢູ່​ລະຫວ່າງ 1000 ແລະ 65534."</string>
-    <string name="no_internet_available" msgid="161720645084325479">"ເພື່ອ​ໃຊ້​ການ​ໂທ SIP, ກວດ​ເບິ່ງ​ການ​ເຊື່ອມ​ຕໍ່​ອິນ​ເຕີ​ເນັດ​ຂອງ​ທ່ານ​ກ່ອນ."</string>
-    <string name="no_wifi_available" msgid="1179092018692306312">"ທ່ານ​ຈຳ​ເປັນ​ຕ້ອງ​ໄດ້​ເຊື່ອມ​ຕໍ່​ກັບ​ເຄືອ​ຂ່າຍ Wi-Fi ສຳ​ລັບ​ການ​ໂທ SIP (ໃຊ້​ການ​ຕັ້ງ​ຄ່າ​ເຄືອ​ຂ່າຍ​ຂອງ​ໄວ​ເລ​ສ)."</string>
-    <string name="no_voip" msgid="3366395789297981738">"ການ​ໂທ SIP ບໍ່​ຮອງ​ຮັບ"</string>
-    <string name="sip_system_decide" msgid="197230378376326430">"ອັດຕະໂນມັດ"</string>
-    <string name="sip_always_send_keepalive" msgid="4986533673960084769">"​ສົ່ງ​ຕະຫຼອດ"</string>
-    <string name="sip_connection_service_label" msgid="8796284274240316006">"ການ​ໂທ SIP ໃນ​ເຄື່ອງ"</string>
-</resources>
diff --git a/sip/res/values-lt/strings.xml b/sip/res/values-lt/strings.xml
deleted file mode 100644
index 320d713..0000000
--- a/sip/res/values-lt/strings.xml
+++ /dev/null
@@ -1,80 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2014 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7452587325305604702">"SIP nustatymai"</string>
-    <string name="sip_accounts" msgid="7297896885665783239">"SIP paskyros"</string>
-    <string name="sip_accounts_title" msgid="3061686404598143943">"Paskyros"</string>
-    <string name="sip_receive_calls" msgid="3403644006618369349">"Gauti gaunamuosius skambučius"</string>
-    <string name="sip_receive_calls_summary" msgid="5306603671778761443">"Eikvojama daugiau akumuliatoriaus energijos"</string>
-    <string name="sip_call_options_title" msgid="5027066677561068192">"Naudoti SIP skambinimą"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6663105297927456484">"Naudoti SIP skambinimą (tik „Wi-Fi“)"</string>
-    <string name="sip_call_options_entry_1" msgid="4722647332760934261">"Visiems skambučiams atlikti, kai pasiekiamas duomenų tinklas"</string>
-    <string name="sip_call_options_entry_2" msgid="7338504256051655013">"Tik SIP skambučiams"</string>
-    <string name="sip_call_options_wifi_only_entry_1" msgid="922329055414010991">"Visiems skambučiams atlikti"</string>
-    <string name="add_sip_account" msgid="5754758646745144384">"Pridėti paskyrą"</string>
-    <string name="remove_sip_account" msgid="8272617403399636513">"Pašalinti paskyrą"</string>
-    <string name="sip_account_list" msgid="2596262496233721769">"SIP paskyros"</string>
-    <string name="saving_account" msgid="3390358043846687266">"Išsaugoma paskyra..."</string>
-    <string name="removing_account" msgid="1544132880414780408">"Pašalinama paskyra..."</string>
-    <string name="sip_menu_save" msgid="4377112554203123060">"Išsaugoti"</string>
-    <string name="sip_menu_discard" msgid="1883166691772895243">"Atmesti"</string>
-    <string name="alert_dialog_close" msgid="1734746505531110706">"Uždaryti profilį"</string>
-    <string name="alert_dialog_ok" msgid="7806760618798687406">"Gerai"</string>
-    <string name="close_profile" msgid="3756064641769751774">"Uždaryti"</string>
-    <string name="registration_status_checking_status" msgid="884179594507591180">"Tikrinama būsena..."</string>
-    <string name="registration_status_registering" msgid="7986331597809521791">"Registruojama..."</string>
-    <string name="registration_status_still_trying" msgid="7178623685868766282">"Vis dar bandoma..."</string>
-    <string name="registration_status_not_receiving" msgid="3873074208531938401">"Skambučiai negaunami."</string>
-    <string name="registration_status_no_data" msgid="2987064560116584121">"Paskyros registracija sustabdyta, nes neprisijungta prie interneto."</string>
-    <string name="registration_status_no_wifi_data" msgid="685470618241482948">"Paskyros registracija sustabdyta, nes neprisijungta prie „Wi-Fi“."</string>
-    <string name="registration_status_not_running" msgid="6236403137652262659">"Paskyros užregistruoti nepavyko."</string>
-    <string name="registration_status_done" msgid="6787397199273357721">"Gaunami skambučiai."</string>
-    <string name="registration_status_failed_try_later" msgid="7855389184910312091">"Paskyros užregistruoti nepavyko: (<xliff:g id="REGISTRATION_ERROR_MESSAGE">%s</xliff:g>); bus bandoma vėliau"</string>
-    <string name="registration_status_invalid_credentials" msgid="8896714049938660777">"Paskyros užregistruoti nepavyko: netinkamas naudotojo vardas arba slaptažodis."</string>
-    <string name="registration_status_server_unreachable" msgid="3832339558868965604">"Paskyros užregistruoti nepavyko. Patikrinkite serverio pavadinimą."</string>
-    <string name="third_party_account_summary" msgid="5918779106950859167">"Šią paskyrą dabar naudoja programa „<xliff:g id="ACCOUNT_OWNER">%s</xliff:g>“."</string>
-    <string name="sip_edit_title" msgid="7438891546610820307">"Išsami SIP paskyros informacija"</string>
-    <string name="sip_edit_new_title" msgid="8394790068979636381">"Išsami SIP paskyros informacija"</string>
-    <string name="domain_address_title" msgid="8238078615181248579">"Serveris"</string>
-    <string name="username_title" msgid="298416796886107970">"Naudotojo vardas"</string>
-    <string name="password_title" msgid="8035579335591959021">"Slaptažodis"</string>
-    <string name="display_name_title" msgid="3730105783656830160">"Pateikiamas pavadinimas"</string>
-    <string name="proxy_address_title" msgid="4120361943254795287">"Išsiuntimo tarpinio serverio adresas"</string>
-    <string name="port_title" msgid="1703586046264385110">"Prievado numeris"</string>
-    <string name="transport_title" msgid="1661659138226029178">"Transportavimo tipas"</string>
-    <string name="send_keepalive_title" msgid="5319788151608946049">"Siųsti palaikymo pranešimus"</string>
-    <string name="advanced_settings" msgid="2704644977548662872">"Pasirenkami nustatymai"</string>
-    <string name="auth_username_title" msgid="9002505242616662698">"Tapatybės nustatymo naudotojo vardas"</string>
-    <string name="auth_username_summary" msgid="6346313945275377230">"Tapatybei nustatyti naudotas naudotojo vardas"</string>
-    <string name="default_preference_summary_username" msgid="8788114717555599222">"&lt;Nenustatyta&gt;"</string>
-    <string name="default_preference_summary_password" msgid="3695366978153175549">"&lt;Nenustatyta&gt;"</string>
-    <string name="default_preference_summary_domain_address" msgid="443247296785732364">"&lt;Nenustatyta&gt;"</string>
-    <string name="display_name_summary" msgid="6749135030093260358">"&lt;Kaip naudotojo vardas&gt;"</string>
-    <string name="optional_summary" msgid="620379377865437488">"&lt;Pasirenkama&gt;"</string>
-    <string name="advanced_settings_show" msgid="2318728080037568529">"▷ Jei norite viską parodyti, palieskite"</string>
-    <string name="advanced_settings_hide" msgid="6200816937370652083">"▽ Jei norite viską paslėpti, palieskite"</string>
-    <string name="all_empty_alert" msgid="6085603517610199098">"Įveskite išsamią naujos SIP paskyros informaciją."</string>
-    <string name="empty_alert" msgid="3693655518612836718">"Lauke „<xliff:g id="INPUT_FIELD_NAME">%s</xliff:g>“ būtina nurodyti vertę – jis negali likti tuščias."</string>
-    <string name="not_a_valid_port" msgid="3664668836663491376">"Prievado numeris turi būti nuo 1 000 iki 65 534."</string>
-    <string name="no_internet_available" msgid="161720645084325479">"Kad atliktumėte SIP skambutį, pirmiausia patikrinkite interneto ryšį."</string>
-    <string name="no_wifi_available" msgid="1179092018692306312">"Kad galėtumėte atlikti SIP skambučius, turite būti prisijungę prie „Wi-Fi“ tinklo (naudokite „Belaidžio ryšio ir tinklo“ nustatymus)."</string>
-    <string name="no_voip" msgid="3366395789297981738">"SIP skambinimas nepalaikomas"</string>
-    <string name="sip_system_decide" msgid="197230378376326430">"Automatinis"</string>
-    <string name="sip_always_send_keepalive" msgid="4986533673960084769">"Visada siųsti"</string>
-    <string name="sip_connection_service_label" msgid="8796284274240316006">"Integruotas SIP skambinimas"</string>
-</resources>
diff --git a/sip/res/values-lv/strings.xml b/sip/res/values-lv/strings.xml
deleted file mode 100644
index 851e701..0000000
--- a/sip/res/values-lv/strings.xml
+++ /dev/null
@@ -1,80 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2014 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7452587325305604702">"SIP iestatījumi"</string>
-    <string name="sip_accounts" msgid="7297896885665783239">"SIP konti"</string>
-    <string name="sip_accounts_title" msgid="3061686404598143943">"Konti"</string>
-    <string name="sip_receive_calls" msgid="3403644006618369349">"Saņemt ienākošos zvanus"</string>
-    <string name="sip_receive_calls_summary" msgid="5306603671778761443">"Patērē vairāk akumulatora enerģijas"</string>
-    <string name="sip_call_options_title" msgid="5027066677561068192">"SIP zvanu izmantošana"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6663105297927456484">"SIP zvanu izmantošana (tikai Wi-Fi tīklā)"</string>
-    <string name="sip_call_options_entry_1" msgid="4722647332760934261">"Visiem zvaniem, ja ir pieejams datu tīkls"</string>
-    <string name="sip_call_options_entry_2" msgid="7338504256051655013">"Tikai SIP zvaniem"</string>
-    <string name="sip_call_options_wifi_only_entry_1" msgid="922329055414010991">"Visiem zvaniem"</string>
-    <string name="add_sip_account" msgid="5754758646745144384">"Pievienot kontu"</string>
-    <string name="remove_sip_account" msgid="8272617403399636513">"Konta noņemšana"</string>
-    <string name="sip_account_list" msgid="2596262496233721769">"SIP konti"</string>
-    <string name="saving_account" msgid="3390358043846687266">"Notiek konta saglabāšana..."</string>
-    <string name="removing_account" msgid="1544132880414780408">"Notiek konta noņemšana..."</string>
-    <string name="sip_menu_save" msgid="4377112554203123060">"Saglabāt"</string>
-    <string name="sip_menu_discard" msgid="1883166691772895243">"Atmest"</string>
-    <string name="alert_dialog_close" msgid="1734746505531110706">"Profila aizvēršana"</string>
-    <string name="alert_dialog_ok" msgid="7806760618798687406">"Labi"</string>
-    <string name="close_profile" msgid="3756064641769751774">"Aizvērt"</string>
-    <string name="registration_status_checking_status" msgid="884179594507591180">"Notiek statusa pārbaude..."</string>
-    <string name="registration_status_registering" msgid="7986331597809521791">"Notiek reģistrācija..."</string>
-    <string name="registration_status_still_trying" msgid="7178623685868766282">"Joprojām mēģina..."</string>
-    <string name="registration_status_not_receiving" msgid="3873074208531938401">"Zvani netiek saņemti"</string>
-    <string name="registration_status_no_data" msgid="2987064560116584121">"Konta reģistrācija tika apturēta, jo nav interneta savienojuma."</string>
-    <string name="registration_status_no_wifi_data" msgid="685470618241482948">"Konta reģistrācija ir apturēta, jo nav Wi-Fi savienojuma."</string>
-    <string name="registration_status_not_running" msgid="6236403137652262659">"Konta reģistrācija neizdevās."</string>
-    <string name="registration_status_done" msgid="6787397199273357721">"Zvani tiek saņemti."</string>
-    <string name="registration_status_failed_try_later" msgid="7855389184910312091">"Konta reģistrācija neizdevās: <xliff:g id="REGISTRATION_ERROR_MESSAGE">%s</xliff:g>; vēlāk tā tiks veikta atkārtoti."</string>
-    <string name="registration_status_invalid_credentials" msgid="8896714049938660777">"Konta reģistrācija neizdevās: nepareizs lietotājvārds vai parole."</string>
-    <string name="registration_status_server_unreachable" msgid="3832339558868965604">"Konta reģistrācija neizdevās: pārbaudiet servera nosaukumu."</string>
-    <string name="third_party_account_summary" msgid="5918779106950859167">"Šis konts pašlaik tiek izmantots lietotnē <xliff:g id="ACCOUNT_OWNER">%s</xliff:g>."</string>
-    <string name="sip_edit_title" msgid="7438891546610820307">"Dati par SIP kontu"</string>
-    <string name="sip_edit_new_title" msgid="8394790068979636381">"Dati par SIP kontu"</string>
-    <string name="domain_address_title" msgid="8238078615181248579">"Serveris"</string>
-    <string name="username_title" msgid="298416796886107970">"Lietotājvārds"</string>
-    <string name="password_title" msgid="8035579335591959021">"Parole"</string>
-    <string name="display_name_title" msgid="3730105783656830160">"Parādāmais nosaukums"</string>
-    <string name="proxy_address_title" msgid="4120361943254795287">"Izejošā starpniekservera adrese"</string>
-    <string name="port_title" msgid="1703586046264385110">"Porta numurs"</string>
-    <string name="transport_title" msgid="1661659138226029178">"Protokols"</string>
-    <string name="send_keepalive_title" msgid="5319788151608946049">"Saites darbības pārb. ziņ. sūtīšana"</string>
-    <string name="advanced_settings" msgid="2704644977548662872">"Neobligāti iestatījumi"</string>
-    <string name="auth_username_title" msgid="9002505242616662698">"Autentifikācijai izmantotais lietotājvārds"</string>
-    <string name="auth_username_summary" msgid="6346313945275377230">"Autentifikācijai izmantotais lietotājvārds"</string>
-    <string name="default_preference_summary_username" msgid="8788114717555599222">"&lt;Nav iestatīts&gt;"</string>
-    <string name="default_preference_summary_password" msgid="3695366978153175549">"&lt;Nav iestatīts&gt;"</string>
-    <string name="default_preference_summary_domain_address" msgid="443247296785732364">"&lt;Nav iestatīts&gt;"</string>
-    <string name="display_name_summary" msgid="6749135030093260358">"&lt;Tāds pats kā lietotājvārds&gt;"</string>
-    <string name="optional_summary" msgid="620379377865437488">"&lt;Neobligāti&gt;"</string>
-    <string name="advanced_settings_show" msgid="2318728080037568529">"▷ Pieskarieties, lai rādītu visu"</string>
-    <string name="advanced_settings_hide" msgid="6200816937370652083">"▽ Pieskarieties, lai paslēptu visu"</string>
-    <string name="all_empty_alert" msgid="6085603517610199098">"Ievadiet jaunā SIP konta datus."</string>
-    <string name="empty_alert" msgid="3693655518612836718">"Lauks <xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> ir jāaizpilda obligāti; tas nedrīkst būt tukšs."</string>
-    <string name="not_a_valid_port" msgid="3664668836663491376">"Porta numuram ir jābūt skaitlim no 1000 līdz 65534."</string>
-    <string name="no_internet_available" msgid="161720645084325479">"Pirms veicat SIP zvanu, pārbaudiet interneta savienojumu."</string>
-    <string name="no_wifi_available" msgid="1179092018692306312">"Lai veiktu SIP zvanus, ir jāizmanto Wi-Fi tīkls (iestatījumi Bezvadu savienojumi un tīkli)."</string>
-    <string name="no_voip" msgid="3366395789297981738">"SIP zvani netiek atbalstīti"</string>
-    <string name="sip_system_decide" msgid="197230378376326430">"Automātiski"</string>
-    <string name="sip_always_send_keepalive" msgid="4986533673960084769">"Vienmēr sūtīt"</string>
-    <string name="sip_connection_service_label" msgid="8796284274240316006">"Iebūvēta SIP zvanu funkcija"</string>
-</resources>
diff --git a/sip/res/values-mk/strings.xml b/sip/res/values-mk/strings.xml
deleted file mode 100644
index f6b568a..0000000
--- a/sip/res/values-mk/strings.xml
+++ /dev/null
@@ -1,80 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2014 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7452587325305604702">"Поставки на SIP"</string>
-    <string name="sip_accounts" msgid="7297896885665783239">"Сметки за SIP"</string>
-    <string name="sip_accounts_title" msgid="3061686404598143943">"Сметки"</string>
-    <string name="sip_receive_calls" msgid="3403644006618369349">"Примај дојдовни повици"</string>
-    <string name="sip_receive_calls_summary" msgid="5306603671778761443">"Повеќе ја троши батеријата"</string>
-    <string name="sip_call_options_title" msgid="5027066677561068192">"Користете повикување со SIP"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6663105297927456484">"Користете повикување со SIP (само преку Wi-Fi)"</string>
-    <string name="sip_call_options_entry_1" msgid="4722647332760934261">"За сите повици кога е достапна мрежа на податоци"</string>
-    <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="sip_account_list" msgid="2596262496233721769">"Сметки за SIP"</string>
-    <string name="saving_account" msgid="3390358043846687266">"Зачувување на сметката..."</string>
-    <string name="removing_account" msgid="1544132880414780408">"Сметката се отстранува..."</string>
-    <string name="sip_menu_save" msgid="4377112554203123060">"Зачувај"</string>
-    <string name="sip_menu_discard" msgid="1883166691772895243">"Отфрли"</string>
-    <string name="alert_dialog_close" msgid="1734746505531110706">"Затвори го профилот"</string>
-    <string name="alert_dialog_ok" msgid="7806760618798687406">"Во ред"</string>
-    <string name="close_profile" msgid="3756064641769751774">"Затвори"</string>
-    <string name="registration_status_checking_status" msgid="884179594507591180">"Проверување статус..."</string>
-    <string name="registration_status_registering" msgid="7986331597809521791">"Регистрирање..."</string>
-    <string name="registration_status_still_trying" msgid="7178623685868766282">"Уште се обидува..."</string>
-    <string name="registration_status_not_receiving" msgid="3873074208531938401">"Не прима повици."</string>
-    <string name="registration_status_no_data" msgid="2987064560116584121">"Регистрацијата на сметка се прекина затоа што нема интернет конекција."</string>
-    <string name="registration_status_no_wifi_data" msgid="685470618241482948">"Регистрацијата на сметка се прекина затоа што нема Wi-Fi конекција."</string>
-    <string name="registration_status_not_running" msgid="6236403137652262659">"Регистрацијата на сметка е неуспешна."</string>
-    <string name="registration_status_done" msgid="6787397199273357721">"Примање повици."</string>
-    <string name="registration_status_failed_try_later" msgid="7855389184910312091">"Регистрацијата на сметка е неуспешна: (<xliff:g id="REGISTRATION_ERROR_MESSAGE">%s</xliff:g>); ќе се обиде подоцна"</string>
-    <string name="registration_status_invalid_credentials" msgid="8896714049938660777">"Регистрацијата на сметка е неуспешна: неточно корисничко име или лозинка."</string>
-    <string name="registration_status_server_unreachable" msgid="3832339558868965604">"Регистрацијата на сметка е неуспешна: проверете го името на серверот."</string>
-    <string name="third_party_account_summary" msgid="5918779106950859167">"Апликацијата на <xliff:g id="ACCOUNT_OWNER">%s</xliff:g> ја употребува оваа сметка во моментов."</string>
-    <string name="sip_edit_title" msgid="7438891546610820307">"SIP-сметка"</string>
-    <string name="sip_edit_new_title" msgid="8394790068979636381">"SIP-сметка"</string>
-    <string name="domain_address_title" msgid="8238078615181248579">"Сервер"</string>
-    <string name="username_title" msgid="298416796886107970">"Корисничко име"</string>
-    <string name="password_title" msgid="8035579335591959021">"Лозинка"</string>
-    <string name="display_name_title" msgid="3730105783656830160">"Име за приказ"</string>
-    <string name="proxy_address_title" msgid="4120361943254795287">"Излезна адреса на прокси"</string>
-    <string name="port_title" msgid="1703586046264385110">"Број на порта"</string>
-    <string name="transport_title" msgid="1661659138226029178">"Вид на пренос"</string>
-    <string name="send_keepalive_title" msgid="5319788151608946049">"Испрати „одржувај врска“"</string>
-    <string name="advanced_settings" msgid="2704644977548662872">"Изборни поставки"</string>
-    <string name="auth_username_title" msgid="9002505242616662698">"Корисничко име за автентикација"</string>
-    <string name="auth_username_summary" msgid="6346313945275377230">"Корисничко име што се користи за автентикација"</string>
-    <string name="default_preference_summary_username" msgid="8788114717555599222">"&lt;Не е поставено&gt;"</string>
-    <string name="default_preference_summary_password" msgid="3695366978153175549">"&lt;Не е поставено&gt;"</string>
-    <string name="default_preference_summary_domain_address" msgid="443247296785732364">"&lt;Не е поставено&gt;"</string>
-    <string name="display_name_summary" msgid="6749135030093260358">"&lt;Исто како корисничкото име&gt;"</string>
-    <string name="optional_summary" msgid="620379377865437488">"Изборно"</string>
-    <string name="advanced_settings_show" msgid="2318728080037568529">"▷ Допрете за да се прикажат сите"</string>
-    <string name="advanced_settings_hide" msgid="6200816937370652083">"▽ Допрете за да се сокријат сите"</string>
-    <string name="all_empty_alert" msgid="6085603517610199098">"Внесете ги деталите за новата сметка со SIP."</string>
-    <string name="empty_alert" msgid="3693655518612836718">"Потребно е <xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> и не може да се остави празно."</string>
-    <string name="not_a_valid_port" msgid="3664668836663491376">"Бројот на портата треба да биде меѓу 1000 и 65534."</string>
-    <string name="no_internet_available" msgid="161720645084325479">"За да воспоставите повик со SIP, прво проверете ја интернет врската."</string>
-    <string name="no_wifi_available" msgid="1179092018692306312">"Треба да бидете поврзани со мрежа на Wi-Fi за повици со SIP (користете ги поставките за безжичен интернет и за мрежа)."</string>
-    <string name="no_voip" msgid="3366395789297981738">"Повици со SIP не се поддржани"</string>
-    <string name="sip_system_decide" msgid="197230378376326430">"Автоматски"</string>
-    <string name="sip_always_send_keepalive" msgid="4986533673960084769">"Испраќај секогаш"</string>
-    <string name="sip_connection_service_label" msgid="8796284274240316006">"Вградено повикување со SIP"</string>
-</resources>
diff --git a/sip/res/values-ml/strings.xml b/sip/res/values-ml/strings.xml
deleted file mode 100644
index 63bb87c..0000000
--- a/sip/res/values-ml/strings.xml
+++ /dev/null
@@ -1,80 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2014 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7452587325305604702">"SIP ക്രമീകരണങ്ങൾ"</string>
-    <string name="sip_accounts" msgid="7297896885665783239">"SIP അക്കൗണ്ടുകൾ"</string>
-    <string name="sip_accounts_title" msgid="3061686404598143943">"അക്കൗണ്ടുകൾ"</string>
-    <string name="sip_receive_calls" msgid="3403644006618369349">"ഇൻകമിംഗ് കോൾ സ്വീകരിക്കൂ"</string>
-    <string name="sip_receive_calls_summary" msgid="5306603671778761443">"കൂടുതൽ ബാറ്ററി ഉപയോഗിക്കുന്നു"</string>
-    <string name="sip_call_options_title" msgid="5027066677561068192">"SIP കോൾചെയ്യൽ ഉപയോഗിക്കുക"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6663105297927456484">"SIP കോൾചെയ്യൽ ഉപയോഗിക്കുക (വൈഫൈ മാത്രം)"</string>
-    <string name="sip_call_options_entry_1" msgid="4722647332760934261">"ഡാറ്റ നെറ്റ്‌വർക്ക് ലഭ്യമാകുമ്പോൾ എല്ലാ കോളുകൾക്കായും"</string>
-    <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="sip_account_list" msgid="2596262496233721769">"SIP അക്കൗണ്ടുകൾ"</string>
-    <string name="saving_account" msgid="3390358043846687266">"അക്കൗണ്ട് സംരക്ഷിക്കുന്നു…"</string>
-    <string name="removing_account" msgid="1544132880414780408">"അക്കൗണ്ട് നീക്കംചെയ്യുന്നു…"</string>
-    <string name="sip_menu_save" msgid="4377112554203123060">"സംരക്ഷിക്കൂ"</string>
-    <string name="sip_menu_discard" msgid="1883166691772895243">"നിരസിക്കൂ"</string>
-    <string name="alert_dialog_close" msgid="1734746505531110706">"പ്രൊഫൈൽ അടയ്‌ക്കുക"</string>
-    <string name="alert_dialog_ok" msgid="7806760618798687406">"ശരി"</string>
-    <string name="close_profile" msgid="3756064641769751774">"അടയ്‌ക്കുക"</string>
-    <string name="registration_status_checking_status" msgid="884179594507591180">"നില പരിശോധിക്കുന്നു..."</string>
-    <string name="registration_status_registering" msgid="7986331597809521791">"രജിസ്റ്റർ ചെയ്യുന്നു…"</string>
-    <string name="registration_status_still_trying" msgid="7178623685868766282">"ഇപ്പോഴും ശ്രമിക്കുന്നു…"</string>
-    <string name="registration_status_not_receiving" msgid="3873074208531938401">"കോളുകൾ സ്വീകരിക്കുന്നില്ല."</string>
-    <string name="registration_status_no_data" msgid="2987064560116584121">"ഇന്റർനെറ്റ് കണക്ഷനില്ലാത്താതിനാൽ അക്കൗണ്ട് രജിസ്ട്രേഷൻ നിർത്തിവച്ചു."</string>
-    <string name="registration_status_no_wifi_data" msgid="685470618241482948">"വൈഫൈ കണക്ഷനില്ലാത്താതിനാൽ അക്കൗണ്ട് രജിസ്ട്രേഷൻ നിർത്തിവച്ചു."</string>
-    <string name="registration_status_not_running" msgid="6236403137652262659">"അക്കൗണ്ട് രജിസ്ട്രേഷൻ പരാജയപ്പെട്ടു."</string>
-    <string name="registration_status_done" msgid="6787397199273357721">"കോളുകൾ സ്വീകരിക്കുന്നു."</string>
-    <string name="registration_status_failed_try_later" msgid="7855389184910312091">"അക്കൗണ്ട് രജിസ്‌ട്രേഷൻ പരാജയപ്പെട്ടു: (<xliff:g id="REGISTRATION_ERROR_MESSAGE">%s</xliff:g>); പിന്നീട് വീണ്ടും ശ്രമിക്കും"</string>
-    <string name="registration_status_invalid_credentials" msgid="8896714049938660777">"അക്കൗണ്ട് രജിസ്‌ട്രേഷൻ പരാജയപ്പെട്ടു. ഉപയോക്തൃനാമമോ പാസ്‌വേഡോ തെറ്റാണ്."</string>
-    <string name="registration_status_server_unreachable" msgid="3832339558868965604">"അക്കൗണ്ട് രജിസ്ട്രേഷൻ പരാജയപ്പെട്ടു: സെർവറിന്റെ പേര് പരിശോധിക്കുക."</string>
-    <string name="third_party_account_summary" msgid="5918779106950859167">"ഈ അക്കൗണ്ട് നിലവിൽ <xliff:g id="ACCOUNT_OWNER">%s</xliff:g> അപ്ലിക്കേഷൻ ഉപയോഗിക്കുന്നു."</string>
-    <string name="sip_edit_title" msgid="7438891546610820307">"SIP വിശദാംശം"</string>
-    <string name="sip_edit_new_title" msgid="8394790068979636381">"SIP വിശദാംശം"</string>
-    <string name="domain_address_title" msgid="8238078615181248579">"സെർവർ"</string>
-    <string name="username_title" msgid="298416796886107970">"ഉപയോക്തൃനാമം"</string>
-    <string name="password_title" msgid="8035579335591959021">"പാസ്‌വേഡ്"</string>
-    <string name="display_name_title" msgid="3730105783656830160">"പ്രദർശിപ്പിക്കുന്ന പേര്"</string>
-    <string name="proxy_address_title" msgid="4120361943254795287">"ഔട്ട്ബൗണ്ട് പ്രോക്സി വിലാസം"</string>
-    <string name="port_title" msgid="1703586046264385110">"പോർട്ട് നമ്പർ"</string>
-    <string name="transport_title" msgid="1661659138226029178">"ട്രാൻസ്‌പോർട്ട് തരം"</string>
-    <string name="send_keepalive_title" msgid="5319788151608946049">"\'സജീവമായി തുടരുക\'യെന്ന് അയയ്‌ക്കുക"</string>
-    <string name="advanced_settings" msgid="2704644977548662872">"ഓപ്‌ഷണൽ ക്രമീകരണങ്ങൾ"</string>
-    <string name="auth_username_title" msgid="9002505242616662698">"പരിശോധിച്ചുറപ്പിച്ച ഉപയോക്തൃനാമം"</string>
-    <string name="auth_username_summary" msgid="6346313945275377230">"പരിശോധിച്ചുറപ്പിക്കാൻ ഉപയോഗിച്ച ഉപയോക്തൃനാമം"</string>
-    <string name="default_preference_summary_username" msgid="8788114717555599222">"&lt;ക്രമീകരിച്ചിട്ടില്ല&gt;"</string>
-    <string name="default_preference_summary_password" msgid="3695366978153175549">"&lt;ക്രമീകരിച്ചിട്ടില്ല&gt;"</string>
-    <string name="default_preference_summary_domain_address" msgid="443247296785732364">"&lt;ക്രമീകരിച്ചിട്ടില്ല&gt;"</string>
-    <string name="display_name_summary" msgid="6749135030093260358">"&lt;ഉപയോക്തൃനാമത്തിന് സമാനം&gt;"</string>
-    <string name="optional_summary" msgid="620379377865437488">"&lt;ഓപ്‌ഷണൽ&gt;"</string>
-    <string name="advanced_settings_show" msgid="2318728080037568529">"▷ എല്ലാം കാണിക്കാൻ സ്‌പർശിക്കുക"</string>
-    <string name="advanced_settings_hide" msgid="6200816937370652083">"▽ എല്ലാം മറയ്‌ക്കാൻ സ്‌പർശിക്കുക"</string>
-    <string name="all_empty_alert" msgid="6085603517610199098">"പുതിയ SIP അക്കൗണ്ട് വിശദാംശങ്ങൾ നൽകുക."</string>
-    <string name="empty_alert" msgid="3693655518612836718">"<xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> ആവശ്യമായതിനാൽ ശൂന്യമായിടാനാകില്ല."</string>
-    <string name="not_a_valid_port" msgid="3664668836663491376">"പോർട്ട് നമ്പർ 1000, 65534 എന്നിവയ്‌ക്കിടയിലായിരിക്കണം."</string>
-    <string name="no_internet_available" msgid="161720645084325479">"SIP കോൾചെയ്യുന്നതിന്, ആദ്യം നിങ്ങളുടെ ഇന്റർനെറ്റ് കണക്ഷൻ പരിശോധിക്കുക."</string>
-    <string name="no_wifi_available" msgid="1179092018692306312">"SIP കോളുകൾക്കായി വൈഫൈ നെറ്റ്‌വർക്കിലേക്ക് കണക്‌റ്റുചെയ്യേണ്ടതുണ്ട് (വയർലെസ്, നെറ്റ്‌വർക്ക് ക്രമീകരണങ്ങൾ ഉപയോഗിക്കുക)."</string>
-    <string name="no_voip" msgid="3366395789297981738">"SIP കോൾചെയ്യൽ പിന്തുണയ്‌ക്കുന്നില്ല"</string>
-    <string name="sip_system_decide" msgid="197230378376326430">"സ്വയമേവ"</string>
-    <string name="sip_always_send_keepalive" msgid="4986533673960084769">"എല്ലായ്പ്പോഴും അയയ്‌ക്കുക"</string>
-    <string name="sip_connection_service_label" msgid="8796284274240316006">"അന്തർ നിർമ്മിത SIP കോൾചെയ്യൽ"</string>
-</resources>
diff --git a/sip/res/values-mn/strings.xml b/sip/res/values-mn/strings.xml
deleted file mode 100644
index 7460e2a..0000000
--- a/sip/res/values-mn/strings.xml
+++ /dev/null
@@ -1,80 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2014 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7452587325305604702">"SIP тохиргоонууд"</string>
-    <string name="sip_accounts" msgid="7297896885665783239">"SIP бүртгэлүүд"</string>
-    <string name="sip_accounts_title" msgid="3061686404598143943">"Бүртгэл"</string>
-    <string name="sip_receive_calls" msgid="3403644006618369349">"Ирж буй дуудлага хүлээж авах"</string>
-    <string name="sip_receive_calls_summary" msgid="5306603671778761443">"Илүү их цэнэг хэрэглэдэг"</string>
-    <string name="sip_call_options_title" msgid="5027066677561068192">"SIP дуудлага ашиглах"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6663105297927456484">"SIP дуудлага ашиглах (зөвхөн Wi-Fi)"</string>
-    <string name="sip_call_options_entry_1" msgid="4722647332760934261">"Дата сүлжээтэй үед бүх дуудлагад"</string>
-    <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="sip_account_list" msgid="2596262496233721769">"SIP бүртгэлүүд"</string>
-    <string name="saving_account" msgid="3390358043846687266">"Акаунтыг хадгалж байна…"</string>
-    <string name="removing_account" msgid="1544132880414780408">"Акаунтыг арилгаж байна…"</string>
-    <string name="sip_menu_save" msgid="4377112554203123060">"Хадгалах"</string>
-    <string name="sip_menu_discard" msgid="1883166691772895243">"Устг"</string>
-    <string name="alert_dialog_close" msgid="1734746505531110706">"Профайлыг хаана уу"</string>
-    <string name="alert_dialog_ok" msgid="7806760618798687406">"OK"</string>
-    <string name="close_profile" msgid="3756064641769751774">"Хаах"</string>
-    <string name="registration_status_checking_status" msgid="884179594507591180">"Статусыг шалгаж байна..."</string>
-    <string name="registration_status_registering" msgid="7986331597809521791">"Бүртгэж байна…"</string>
-    <string name="registration_status_still_trying" msgid="7178623685868766282">"Оролдож байна…"</string>
-    <string name="registration_status_not_receiving" msgid="3873074208531938401">"Дуудлага хүлээж авахгүй байна."</string>
-    <string name="registration_status_no_data" msgid="2987064560116584121">"Интернэт холболтгүй болсон учир бүртгэлийн бүртгэл зогслоо."</string>
-    <string name="registration_status_no_wifi_data" msgid="685470618241482948">"Wi-Fi холболтгүй болсон учир бүртгэлийн бүртгэл зогслоо"</string>
-    <string name="registration_status_not_running" msgid="6236403137652262659">"Акаунтын бүртгэл амжилтгүй."</string>
-    <string name="registration_status_done" msgid="6787397199273357721">"Дуудлага хүлээн авч байна."</string>
-    <string name="registration_status_failed_try_later" msgid="7855389184910312091">"Акаунтын бүртгэл амжилтгүй боллоо: (<xliff:g id="REGISTRATION_ERROR_MESSAGE">%s</xliff:g>); дараа дахин оролдох болно"</string>
-    <string name="registration_status_invalid_credentials" msgid="8896714049938660777">"Акаунтын бүртгэл амжилтгүй боллооl: Хэрэглэгчийн нэр буюу нууц үг буруу"</string>
-    <string name="registration_status_server_unreachable" msgid="3832339558868965604">"Акаунтын бүртгэл амжилтгүй: Серверийн нэрийг шалгана уу."</string>
-    <string name="third_party_account_summary" msgid="5918779106950859167">"Энэ акаунтыг <xliff:g id="ACCOUNT_OWNER">%s</xliff:g> апп одоо ашиглаж байна."</string>
-    <string name="sip_edit_title" msgid="7438891546610820307">"SIP бүртгэлийн мэдээлэл"</string>
-    <string name="sip_edit_new_title" msgid="8394790068979636381">"SIP бүртгэлийн мэдээлэл"</string>
-    <string name="domain_address_title" msgid="8238078615181248579">"Сервер"</string>
-    <string name="username_title" msgid="298416796886107970">"Хэрэглэгчийн нэр"</string>
-    <string name="password_title" msgid="8035579335591959021">"Нууц үг"</string>
-    <string name="display_name_title" msgid="3730105783656830160">"Дэлгэцийн нэр"</string>
-    <string name="proxy_address_title" msgid="4120361943254795287">"Гадагш чиглэсэн прокси хаяг"</string>
-    <string name="port_title" msgid="1703586046264385110">"Портын дугаар"</string>
-    <string name="transport_title" msgid="1661659138226029178">"Тээврийн хэлбэр"</string>
-    <string name="send_keepalive_title" msgid="5319788151608946049">"Идэвхитэй байлгах мессеж илгээх"</string>
-    <string name="advanced_settings" msgid="2704644977548662872">"Сонголтын тохиргоо"</string>
-    <string name="auth_username_title" msgid="9002505242616662698">"Баталгуужуулах хэрэглэгчийн нэр"</string>
-    <string name="auth_username_summary" msgid="6346313945275377230">"Гэрчлэлд ашигласан хэрэглэгчийн нэр"</string>
-    <string name="default_preference_summary_username" msgid="8788114717555599222">"&lt;Тохируулаагүй&gt;"</string>
-    <string name="default_preference_summary_password" msgid="3695366978153175549">"&lt;Тохируулаагүй&gt;"</string>
-    <string name="default_preference_summary_domain_address" msgid="443247296785732364">"&lt;Тохируулаагүй&gt;"</string>
-    <string name="display_name_summary" msgid="6749135030093260358">"&lt;Хэрэглэгчийн нэртэй адил&gt;"</string>
-    <string name="optional_summary" msgid="620379377865437488">"&lt;Сонголтын&gt;"</string>
-    <string name="advanced_settings_show" msgid="2318728080037568529">"▷ Бүгдийг харуулахын тулд хүрнэ үү"</string>
-    <string name="advanced_settings_hide" msgid="6200816937370652083">"▽ Бүгдийг нуухын тулд хүрнэ үү"</string>
-    <string name="all_empty_alert" msgid="6085603517610199098">"Шинэ SIP бүртгэлд дэлгэрэнгүй мэдээлэл нэмэх."</string>
-    <string name="empty_alert" msgid="3693655518612836718">"<xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> заавал шаардагдах бөгөөд хоосон орхиж болохгүй."</string>
-    <string name="not_a_valid_port" msgid="3664668836663491376">"Портын дугаар 1000 болон 65534 хооронд байх ёстой."</string>
-    <string name="no_internet_available" msgid="161720645084325479">"SIP дуудлага хийхийн тулд эхлээд интернет сүлжээгээ шалгана уу"</string>
-    <string name="no_wifi_available" msgid="1179092018692306312">"SIP дуудлага хийхийн тулд Wi-Fi сүлжээнд холбогдсон байх хэрэгтэй (Wi-Fi болон Сүлжээний тохиргоог ашигла)"</string>
-    <string name="no_voip" msgid="3366395789297981738">"SIP дуудлага хийхийг дэмжээгүй байна"</string>
-    <string name="sip_system_decide" msgid="197230378376326430">"Автоматаар"</string>
-    <string name="sip_always_send_keepalive" msgid="4986533673960084769">"Байнга илгээх"</string>
-    <string name="sip_connection_service_label" msgid="8796284274240316006">"SIP дуудлага өгөгдсөн"</string>
-</resources>
diff --git a/sip/res/values-mr/strings.xml b/sip/res/values-mr/strings.xml
deleted file mode 100644
index 6eb7245..0000000
--- a/sip/res/values-mr/strings.xml
+++ /dev/null
@@ -1,80 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2014 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7452587325305604702">"SIP सेटिंग्ज"</string>
-    <string name="sip_accounts" msgid="7297896885665783239">"SIP खाती"</string>
-    <string name="sip_accounts_title" msgid="3061686404598143943">"खाती"</string>
-    <string name="sip_receive_calls" msgid="3403644006618369349">"इनकमिंग कॉल घ्या"</string>
-    <string name="sip_receive_calls_summary" msgid="5306603671778761443">"अधिक बॅटरी वापरते"</string>
-    <string name="sip_call_options_title" msgid="5027066677561068192">"SIP कॉलिंग वापरा"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6663105297927456484">"SIP कॉलिंग वापरा (वाय-फाय केवळ)"</string>
-    <string name="sip_call_options_entry_1" msgid="4722647332760934261">"डेटा नेटवर्क उपलब्ध असल्यावर सर्व कॉलसाठी"</string>
-    <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="sip_account_list" msgid="2596262496233721769">"SIP खाती"</string>
-    <string name="saving_account" msgid="3390358043846687266">"खाते सेव्ह करत आहे..."</string>
-    <string name="removing_account" msgid="1544132880414780408">"खाते काढत आहे..."</string>
-    <string name="sip_menu_save" msgid="4377112554203123060">"सेव्ह करा"</string>
-    <string name="sip_menu_discard" msgid="1883166691772895243">"टाकून द्या"</string>
-    <string name="alert_dialog_close" msgid="1734746505531110706">"प्रोफाईल बंद करा"</string>
-    <string name="alert_dialog_ok" msgid="7806760618798687406">"ठीक आहे"</string>
-    <string name="close_profile" msgid="3756064641769751774">"बंद करा"</string>
-    <string name="registration_status_checking_status" msgid="884179594507591180">"स्‍थिती तपासत आहे..."</string>
-    <string name="registration_status_registering" msgid="7986331597809521791">"नोंदणी करत आहे..."</string>
-    <string name="registration_status_still_trying" msgid="7178623685868766282">"अद्याप प्रयत्न करत आहे..."</string>
-    <string name="registration_status_not_receiving" msgid="3873074208531938401">"कॉल प्राप्त होत नाहीत."</string>
-    <string name="registration_status_no_data" msgid="2987064560116584121">"इंटरनेट कनेक्‍शन नसल्‍याने खाते नोंदणी थांबली."</string>
-    <string name="registration_status_no_wifi_data" msgid="685470618241482948">"वाय-फाय कनेक्‍शन नसल्‍याने खाते नोंदणी थांबली."</string>
-    <string name="registration_status_not_running" msgid="6236403137652262659">"खाते नोंदणी अयशस्वी."</string>
-    <string name="registration_status_done" msgid="6787397199273357721">"कॉल प्राप्त करत आहे."</string>
-    <string name="registration_status_failed_try_later" msgid="7855389184910312091">"खाते नोंदणी अयशस्‍वी: (<xliff:g id="REGISTRATION_ERROR_MESSAGE">%s</xliff:g>); नंतर प्रयत्‍न करू"</string>
-    <string name="registration_status_invalid_credentials" msgid="8896714049938660777">"खाते नोंदणी अयशस्‍वी: चुकीचे वापरकर्ता नाव किंवा संकेतशब्‍द."</string>
-    <string name="registration_status_server_unreachable" msgid="3832339558868965604">"खाते नोंदणी अयशस्वी: सर्व्हर नाव तपासा."</string>
-    <string name="third_party_account_summary" msgid="5918779106950859167">"हे खाते सध्‍या <xliff:g id="ACCOUNT_OWNER">%s</xliff:g> अ‍ॅपद्वारे वापरात आहे."</string>
-    <string name="sip_edit_title" msgid="7438891546610820307">"SIP खाते तपशील"</string>
-    <string name="sip_edit_new_title" msgid="8394790068979636381">"SIP खाते तपशील"</string>
-    <string name="domain_address_title" msgid="8238078615181248579">"सर्व्हर"</string>
-    <string name="username_title" msgid="298416796886107970">"वापरकर्ता नाव"</string>
-    <string name="password_title" msgid="8035579335591959021">"पासवर्ड"</string>
-    <string name="display_name_title" msgid="3730105783656830160">"प्रदर्शन नाव"</string>
-    <string name="proxy_address_title" msgid="4120361943254795287">"आउटबाउंड प्रॉक्सी पत्ता"</string>
-    <string name="port_title" msgid="1703586046264385110">"पोर्ट नंबर"</string>
-    <string name="transport_title" msgid="1661659138226029178">"वाहतूक प्रकार"</string>
-    <string name="send_keepalive_title" msgid="5319788151608946049">"चैतन्‍यमय-ठेवा पाठवा"</string>
-    <string name="advanced_settings" msgid="2704644977548662872">"पर्यायी सेटिंग्ज"</string>
-    <string name="auth_username_title" msgid="9002505242616662698">"ऑथेंटिकेशन वापरकर्ता नाव"</string>
-    <string name="auth_username_summary" msgid="6346313945275377230">"प्रमाणीकरणासाठी वापरकर्ता नाव वापरले"</string>
-    <string name="default_preference_summary_username" msgid="8788114717555599222">"&lt;सेट नाही&gt;"</string>
-    <string name="default_preference_summary_password" msgid="3695366978153175549">"&lt;सेट नाही&gt;"</string>
-    <string name="default_preference_summary_domain_address" msgid="443247296785732364">"&lt;सेट नाही&gt;"</string>
-    <string name="display_name_summary" msgid="6749135030093260358">"&lt;वापरकर्ता नावासारखे&gt;"</string>
-    <string name="optional_summary" msgid="620379377865437488">"&lt;पर्यायी&gt;"</string>
-    <string name="advanced_settings_show" msgid="2318728080037568529">"▷ सर्व दाखवण्‍यासाठी स्‍पर्श करा"</string>
-    <string name="advanced_settings_hide" msgid="6200816937370652083">"▽ सर्व लपवण्‍यासाठी स्‍पर्श करा"</string>
-    <string name="all_empty_alert" msgid="6085603517610199098">"नवीन SIP खात्याचा तपशील एंटर करा."</string>
-    <string name="empty_alert" msgid="3693655518612836718">"<xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> आवश्‍यक आहे आणि रिक्त सोडले जाऊ शकत नाही."</string>
-    <string name="not_a_valid_port" msgid="3664668836663491376">"पोर्ट नंबर 1000 आणि 65534 मध्‍ये असावा."</string>
-    <string name="no_internet_available" msgid="161720645084325479">"एक SIP कॉल करण्‍यासाठी, प्रथम तुमचे इंटरनेट कनेक्‍शन तपासा."</string>
-    <string name="no_wifi_available" msgid="1179092018692306312">"SIP कॉलसाठी तुम्ही वाय-फाय नेटवर्कशी कनेक्‍ट केलेले असणे आवश्‍यक आहे (वायरलेस &amp; नेटवर्क सेटिंग्ज वापरा)."</string>
-    <string name="no_voip" msgid="3366395789297981738">"SIP कॉल करणे समर्थित नाही"</string>
-    <string name="sip_system_decide" msgid="197230378376326430">"स्वयंचलित"</string>
-    <string name="sip_always_send_keepalive" msgid="4986533673960084769">"नेहमी पाठवा"</string>
-    <string name="sip_connection_service_label" msgid="8796284274240316006">"अंगभूत SIP कॉल करणे"</string>
-</resources>
diff --git a/sip/res/values-ms/strings.xml b/sip/res/values-ms/strings.xml
deleted file mode 100644
index 424ab8f..0000000
--- a/sip/res/values-ms/strings.xml
+++ /dev/null
@@ -1,80 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2014 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7452587325305604702">"Tetapan SIP"</string>
-    <string name="sip_accounts" msgid="7297896885665783239">"Akaun SIP"</string>
-    <string name="sip_accounts_title" msgid="3061686404598143943">"Akaun"</string>
-    <string name="sip_receive_calls" msgid="3403644006618369349">"Terima panggilan masuk"</string>
-    <string name="sip_receive_calls_summary" msgid="5306603671778761443">"Menggunakan lebih hayat bateri"</string>
-    <string name="sip_call_options_title" msgid="5027066677561068192">"Gunakan panggilan SIP"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6663105297927456484">"Gunakan panggilan SIP (Wi-Fi sahaja)"</string>
-    <string name="sip_call_options_entry_1" msgid="4722647332760934261">"Untuk semua panggilan semasa rangkaian data tersedia"</string>
-    <string name="sip_call_options_entry_2" msgid="7338504256051655013">"Hanya untuk panggilan SIP"</string>
-    <string name="sip_call_options_wifi_only_entry_1" msgid="922329055414010991">"Untuk semua panggilan"</string>
-    <string name="add_sip_account" msgid="5754758646745144384">"Tambah akaun"</string>
-    <string name="remove_sip_account" msgid="8272617403399636513">"Alih keluar akaun"</string>
-    <string name="sip_account_list" msgid="2596262496233721769">"Akaun SIP"</string>
-    <string name="saving_account" msgid="3390358043846687266">"Menyimpan akaun..."</string>
-    <string name="removing_account" msgid="1544132880414780408">"Mengalih keluar akaun..."</string>
-    <string name="sip_menu_save" msgid="4377112554203123060">"Simpan"</string>
-    <string name="sip_menu_discard" msgid="1883166691772895243">"Buang"</string>
-    <string name="alert_dialog_close" msgid="1734746505531110706">"Tutup profil"</string>
-    <string name="alert_dialog_ok" msgid="7806760618798687406">"OK"</string>
-    <string name="close_profile" msgid="3756064641769751774">"Tutup"</string>
-    <string name="registration_status_checking_status" msgid="884179594507591180">"Menyemak status..."</string>
-    <string name="registration_status_registering" msgid="7986331597809521791">"Mendaftar..."</string>
-    <string name="registration_status_still_trying" msgid="7178623685868766282">"Masih mencuba..."</string>
-    <string name="registration_status_not_receiving" msgid="3873074208531938401">"Tidak menerima panggilan."</string>
-    <string name="registration_status_no_data" msgid="2987064560116584121">"Pendaftaran akaun terhenti kerana tiada sambungan Internet."</string>
-    <string name="registration_status_no_wifi_data" msgid="685470618241482948">"Pendaftaran akaun terhenti kerana tiada sambungan Wi-Fi."</string>
-    <string name="registration_status_not_running" msgid="6236403137652262659">"Pendaftaran akaun tidak berjaya."</string>
-    <string name="registration_status_done" msgid="6787397199273357721">"Menerima panggilan"</string>
-    <string name="registration_status_failed_try_later" msgid="7855389184910312091">"Pendaftaran akaun tidak berjaya: (<xliff:g id="REGISTRATION_ERROR_MESSAGE">%s</xliff:g>); akan mencuba kemudian"</string>
-    <string name="registration_status_invalid_credentials" msgid="8896714049938660777">"Pendaftaran akaun tidak berjaya: Nama pengguna atau kata laluan salah."</string>
-    <string name="registration_status_server_unreachable" msgid="3832339558868965604">"Pendaftaran akaun tidak berjaya: Periksa nama pelayan."</string>
-    <string name="third_party_account_summary" msgid="5918779106950859167">"Akaun ini sedang digunakan pada masa ini oleh apl <xliff:g id="ACCOUNT_OWNER">%s</xliff:g>."</string>
-    <string name="sip_edit_title" msgid="7438891546610820307">"Butiran akaun SIP"</string>
-    <string name="sip_edit_new_title" msgid="8394790068979636381">"Butiran akaun SIP"</string>
-    <string name="domain_address_title" msgid="8238078615181248579">"Pelayan"</string>
-    <string name="username_title" msgid="298416796886107970">"Nama Pengguna"</string>
-    <string name="password_title" msgid="8035579335591959021">"Kata laluan"</string>
-    <string name="display_name_title" msgid="3730105783656830160">"Nama paparan"</string>
-    <string name="proxy_address_title" msgid="4120361943254795287">"Alamat proksi keluar"</string>
-    <string name="port_title" msgid="1703586046264385110">"Nombor port"</string>
-    <string name="transport_title" msgid="1661659138226029178">"Jenis pengangkutan"</string>
-    <string name="send_keepalive_title" msgid="5319788151608946049">"Hantar pengekal"</string>
-    <string name="advanced_settings" msgid="2704644977548662872">"Tetapan pilihan"</string>
-    <string name="auth_username_title" msgid="9002505242616662698">"Nama pengguna pengesahan"</string>
-    <string name="auth_username_summary" msgid="6346313945275377230">"Nama pengguna yang digunakan untuk pengesahan"</string>
-    <string name="default_preference_summary_username" msgid="8788114717555599222">"&lt;Tidak ditetapkan&gt;"</string>
-    <string name="default_preference_summary_password" msgid="3695366978153175549">"&lt;Tidak ditetapkan&gt;"</string>
-    <string name="default_preference_summary_domain_address" msgid="443247296785732364">"&lt;Tidak ditetapkan&gt;"</string>
-    <string name="display_name_summary" msgid="6749135030093260358">"&lt;Sama dengan nama pengguna&gt;"</string>
-    <string name="optional_summary" msgid="620379377865437488">"&lt;Pilihan&gt;"</string>
-    <string name="advanced_settings_show" msgid="2318728080037568529">"▷ Sentuh untuk menunjukkan semua"</string>
-    <string name="advanced_settings_hide" msgid="6200816937370652083">"▽ Sentuh untuk sembunyikan semua"</string>
-    <string name="all_empty_alert" msgid="6085603517610199098">"Masukkan butiran akaun SIP baharu."</string>
-    <string name="empty_alert" msgid="3693655518612836718">"<xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> diperlukan dan tidak boleh dibiarkan kosong."</string>
-    <string name="not_a_valid_port" msgid="3664668836663491376">"Nombor port harus berada dalam lingkungan 1000 dan 65534."</string>
-    <string name="no_internet_available" msgid="161720645084325479">"Untuk membuat panggilan SIP, periksa sambungan Internet anda dahulu."</string>
-    <string name="no_wifi_available" msgid="1179092018692306312">"Anda perlu disambungkan ke rangkaian Wi-Fi bagi panggilan SIP(gunakan tetapan Wayarles &amp; Rangkaian)."</string>
-    <string name="no_voip" msgid="3366395789297981738">"Panggilan SIP tidak disokong"</string>
-    <string name="sip_system_decide" msgid="197230378376326430">"Automatik"</string>
-    <string name="sip_always_send_keepalive" msgid="4986533673960084769">"Sentiasa hantar"</string>
-    <string name="sip_connection_service_label" msgid="8796284274240316006">"Panggilan SIP terbina dalam"</string>
-</resources>
diff --git a/sip/res/values-my/strings.xml b/sip/res/values-my/strings.xml
deleted file mode 100644
index 64897b0..0000000
--- a/sip/res/values-my/strings.xml
+++ /dev/null
@@ -1,80 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2014 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7452587325305604702">"SIP ဆက်တင်များ"</string>
-    <string name="sip_accounts" msgid="7297896885665783239">"SIP အကောင့်များ"</string>
-    <string name="sip_accounts_title" msgid="3061686404598143943">"အကောင့်များ"</string>
-    <string name="sip_receive_calls" msgid="3403644006618369349">"အဝင် ခေါ်ဆိုမှုများ လက်ခံရန်"</string>
-    <string name="sip_receive_calls_summary" msgid="5306603671778761443">"ဘက်ထရီ သက်တမ်းပိုသုံးပါသည်"</string>
-    <string name="sip_call_options_title" msgid="5027066677561068192">"SIP ခေါ်ဆိုမှု အသုံးပြုမည်"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6663105297927456484">"SIP ခေါ်ဆိုမှု အသုံးပြုမည် (ကြိုးမဲ့ အင်တာနက်သာ)"</string>
-    <string name="sip_call_options_entry_1" msgid="4722647332760934261">"ဒေတာ ကွန်ရက် ရှိနေစဉ် ခေါ်ဆိုမှုများ အားလုံး အတွက်"</string>
-    <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="sip_account_list" msgid="2596262496233721769">"SIP အကောင့်များ"</string>
-    <string name="saving_account" msgid="3390358043846687266">"အကောင့်ကို သိမ်းဆည်းနေ…"</string>
-    <string name="removing_account" msgid="1544132880414780408">"အကောင့်ကို ဖယ်ရှားနေ…"</string>
-    <string name="sip_menu_save" msgid="4377112554203123060">"သိမ်းရန်"</string>
-    <string name="sip_menu_discard" msgid="1883166691772895243">"ဖယ်ပစ်ရန်"</string>
-    <string name="alert_dialog_close" msgid="1734746505531110706">"ပရိုဖိုင်ကို ပိတ်ရန်"</string>
-    <string name="alert_dialog_ok" msgid="7806760618798687406">"OK"</string>
-    <string name="close_profile" msgid="3756064641769751774">"ပိတ်ရန်"</string>
-    <string name="registration_status_checking_status" msgid="884179594507591180">"အခြေအနေကို စစ်ဆေးနေ..."</string>
-    <string name="registration_status_registering" msgid="7986331597809521791">"မှတ်ပုံတင်နေ…"</string>
-    <string name="registration_status_still_trying" msgid="7178623685868766282">"ကြိုးစာနေဆဲ…"</string>
-    <string name="registration_status_not_receiving" msgid="3873074208531938401">"အဝင် ခေါ်ဆိုမှုများ မရှိပါ"</string>
-    <string name="registration_status_no_data" msgid="2987064560116584121">"အင်တာနက် ဆက်သွယ်မှု မရှိသောကြောင့် အကောင့် မှတ်ပုံတင်ခြင်း ရပ်ဆိုင်းသွားခဲ့သည်။"</string>
-    <string name="registration_status_no_wifi_data" msgid="685470618241482948">"ကြိုးမဲ့ ဆက်သွယ်မှု မရှိသောကြောင့် အကောင့် မှတ်ပုံတင်ခြင်း ရပ်ဆိုင်းသွားခဲ့သည်။"</string>
-    <string name="registration_status_not_running" msgid="6236403137652262659">"အကောင့် မှတ်ပုံတင်ခြင်း မအောင်မြင်ပါ"</string>
-    <string name="registration_status_done" msgid="6787397199273357721">"ခေါ်ဆိုမှုကို လက်ံခံယူနေ"</string>
-    <string name="registration_status_failed_try_later" msgid="7855389184910312091">"အကောင့် မှတ်ပုံတင်ခြင်း မအောင်မြင်ပါ: (<xliff:g id="REGISTRATION_ERROR_MESSAGE">%s</xliff:g>); နောက်မှာ ထပ်ကြိုးစားမည်"</string>
-    <string name="registration_status_invalid_credentials" msgid="8896714049938660777">"အကောင့် မှတ်ပုံတင်ခြင်း မအောင်မြင်ပါ: စကားဝှက် သို့မဟုတ် သုံးစွဲသူအမည် မမှန်ကန်ပါ။"</string>
-    <string name="registration_status_server_unreachable" msgid="3832339558868965604">"အကောင့် မှတ်ပုံတင်ခြင်း မအောင်မြင်ပါ: ဆာဗာ အမည်ကို စစ်ဆေးပါ"</string>
-    <string name="third_party_account_summary" msgid="5918779106950859167">"ဒီအကောင့်ကို လက်ရှိ <xliff:g id="ACCOUNT_OWNER">%s</xliff:g> အပလီကေးရှင်းမှ သုံးနေသည်"</string>
-    <string name="sip_edit_title" msgid="7438891546610820307">"SIP အကောင့် အသေးစိတ်များ"</string>
-    <string name="sip_edit_new_title" msgid="8394790068979636381">"SIP အကောင့် အသေးစိတ်များ"</string>
-    <string name="domain_address_title" msgid="8238078615181248579">"ဆာဗာ"</string>
-    <string name="username_title" msgid="298416796886107970">"အသုံးပြုသူ အမည်"</string>
-    <string name="password_title" msgid="8035579335591959021">"စကားဝှက်"</string>
-    <string name="display_name_title" msgid="3730105783656830160">"ပြသမည့် အမည်"</string>
-    <string name="proxy_address_title" msgid="4120361943254795287">"အထွက် ပရောက်စီ လိပ်စာ"</string>
-    <string name="port_title" msgid="1703586046264385110">"ပို့ နံပါတ်"</string>
-    <string name="transport_title" msgid="1661659138226029178">"သယ်ယူပို့ဆောင်ရေးအမျိုးအစား"</string>
-    <string name="send_keepalive_title" msgid="5319788151608946049">"keep-alive ကို ပို့ပါ"</string>
-    <string name="advanced_settings" msgid="2704644977548662872">"ရွေးနိုင်သော ဆက်တင်များ"</string>
-    <string name="auth_username_title" msgid="9002505242616662698">"အသုံးပြုသူ အမည် အထောက်အထားကို စိစစ်ခြင်း"</string>
-    <string name="auth_username_summary" msgid="6346313945275377230">"အသုံးပြုသူ အမည်ကို အထောက်အထား စိစစ်ရန် သုံးခဲ့"</string>
-    <string name="default_preference_summary_username" msgid="8788114717555599222">"&lt;သတ်မှတ်မထားပါ&gt;"</string>
-    <string name="default_preference_summary_password" msgid="3695366978153175549">"&lt;သတ်မှတ်မထားပါ&gt;"</string>
-    <string name="default_preference_summary_domain_address" msgid="443247296785732364">"&lt;သတ်မှတ်မထားပါ&gt;"</string>
-    <string name="display_name_summary" msgid="6749135030093260358">"&lt;အသုံးပြုသူ အမည်နှင့် တူညီသော&gt;"</string>
-    <string name="optional_summary" msgid="620379377865437488">"&lt;လိုချင်မှ လုပ်ရန်&gt;"</string>
-    <string name="advanced_settings_show" msgid="2318728080037568529">"▷ အားလုံးပြရန် ထိပါ"</string>
-    <string name="advanced_settings_hide" msgid="6200816937370652083">"▽ အားလုံး ဖျောက်ရန် ထိပါ"</string>
-    <string name="all_empty_alert" msgid="6085603517610199098">"SIP အကောင့်သစ်၏ အသေးစိတ်များရိုက်ထည့်ပါ။"</string>
-    <string name="empty_alert" msgid="3693655518612836718">"<xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> မှာ လိုအပ်ပြီး ပလာထား မရပါ"</string>
-    <string name="not_a_valid_port" msgid="3664668836663491376">"ပို့ နံပါတ်မှာ ၁၀၀၀ မှ ၆၅၅၃၄ အတွင်းမှာ ရှိရပါမည်"</string>
-    <string name="no_internet_available" msgid="161720645084325479">"SIP ဖုန်းခေါ်ရန်၊ သင့်အင်တာနက် ချိတ်ဆက်မှုကိုဦးစွာ စစ်ဆေးပါ။"</string>
-    <string name="no_wifi_available" msgid="1179092018692306312">"ခေါ်ဆိုမှုအတွက် ကြိုးမဲ့ကွန်ရက် ချိတ်ဆက်ရန်လိုအပ်ပါသည် (ကြိုးမဲ့ နှင့် ကွန်ရက်ချိန်ညှိချက်များကို အသုံးပြုပါ)။"</string>
-    <string name="no_voip" msgid="3366395789297981738">"SIP ခေါ်ဆိုမှု မထောက်ပံံ့ပါ။"</string>
-    <string name="sip_system_decide" msgid="197230378376326430">"အလိုအလျောက်"</string>
-    <string name="sip_always_send_keepalive" msgid="4986533673960084769">"အမြဲတမ်း ပို့ရန်"</string>
-    <string name="sip_connection_service_label" msgid="8796284274240316006">"SIP မူလခေါ်ဆိုမှု"</string>
-</resources>
diff --git a/sip/res/values-nb/strings.xml b/sip/res/values-nb/strings.xml
deleted file mode 100644
index 1900864..0000000
--- a/sip/res/values-nb/strings.xml
+++ /dev/null
@@ -1,80 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2014 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7452587325305604702">"SIP-innstillinger"</string>
-    <string name="sip_accounts" msgid="7297896885665783239">"SIP-kontoer"</string>
-    <string name="sip_accounts_title" msgid="3061686404598143943">"Kontoer"</string>
-    <string name="sip_receive_calls" msgid="3403644006618369349">"Motta innkommende anrop"</string>
-    <string name="sip_receive_calls_summary" msgid="5306603671778761443">"Bruker mer batteri"</string>
-    <string name="sip_call_options_title" msgid="5027066677561068192">"Bruk SIP-anrop"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6663105297927456484">"Bruk SIP-anrop (kun for Wi-Fi)"</string>
-    <string name="sip_call_options_entry_1" msgid="4722647332760934261">"For alle anrop hvor datanettverk er tilgjengelige"</string>
-    <string name="sip_call_options_entry_2" msgid="7338504256051655013">"Kun for SIP-anrop"</string>
-    <string name="sip_call_options_wifi_only_entry_1" msgid="922329055414010991">"Bruk ved alle anrop"</string>
-    <string name="add_sip_account" msgid="5754758646745144384">"Legg til konto"</string>
-    <string name="remove_sip_account" msgid="8272617403399636513">"Fjern kontoen"</string>
-    <string name="sip_account_list" msgid="2596262496233721769">"SIP-kontoer"</string>
-    <string name="saving_account" msgid="3390358043846687266">"Lagrer kontoen …"</string>
-    <string name="removing_account" msgid="1544132880414780408">"Fjerner kontoen …"</string>
-    <string name="sip_menu_save" msgid="4377112554203123060">"Lagre"</string>
-    <string name="sip_menu_discard" msgid="1883166691772895243">"Forkast"</string>
-    <string name="alert_dialog_close" msgid="1734746505531110706">"Lukk profilen"</string>
-    <string name="alert_dialog_ok" msgid="7806760618798687406">"OK"</string>
-    <string name="close_profile" msgid="3756064641769751774">"Lukk"</string>
-    <string name="registration_status_checking_status" msgid="884179594507591180">"Kontrollerer statusen …"</string>
-    <string name="registration_status_registering" msgid="7986331597809521791">"Registrerer …"</string>
-    <string name="registration_status_still_trying" msgid="7178623685868766282">"Prøver fortsatt …"</string>
-    <string name="registration_status_not_receiving" msgid="3873074208531938401">"Mottar ikke anrop."</string>
-    <string name="registration_status_no_data" msgid="2987064560116584121">"Kontoregistreringen stoppet på grunn av manglende internettilkobling."</string>
-    <string name="registration_status_no_wifi_data" msgid="685470618241482948">"Kontoregistreringen stoppet på grunn av manglende Wi-Fi-tilkobling."</string>
-    <string name="registration_status_not_running" msgid="6236403137652262659">"Kontoregistreringen mislyktes."</string>
-    <string name="registration_status_done" msgid="6787397199273357721">"Mottar anrop."</string>
-    <string name="registration_status_failed_try_later" msgid="7855389184910312091">"Kontoregistreringen mislyktes: (<xliff:g id="REGISTRATION_ERROR_MESSAGE">%s</xliff:g>), det gjøres et nytt forsøk"</string>
-    <string name="registration_status_invalid_credentials" msgid="8896714049938660777">"Kontoregistreringen mislyktes: feil brukernavn eller passord."</string>
-    <string name="registration_status_server_unreachable" msgid="3832339558868965604">"Kontoregistreringen mislyktes: sjekk tjenernavnet."</string>
-    <string name="third_party_account_summary" msgid="5918779106950859167">"Denne kontoen er for øyeblikket i bruk av appen <xliff:g id="ACCOUNT_OWNER">%s</xliff:g>."</string>
-    <string name="sip_edit_title" msgid="7438891546610820307">"SIP-innstillinger"</string>
-    <string name="sip_edit_new_title" msgid="8394790068979636381">"SIP-innstillinger"</string>
-    <string name="domain_address_title" msgid="8238078615181248579">"Tjener"</string>
-    <string name="username_title" msgid="298416796886107970">"Brukernavn"</string>
-    <string name="password_title" msgid="8035579335591959021">"Passord"</string>
-    <string name="display_name_title" msgid="3730105783656830160">"Visningsnavn"</string>
-    <string name="proxy_address_title" msgid="4120361943254795287">"Adresse for utgående proxy-tjener"</string>
-    <string name="port_title" msgid="1703586046264385110">"Portnummer"</string>
-    <string name="transport_title" msgid="1661659138226029178">"Transporttype"</string>
-    <string name="send_keepalive_title" msgid="5319788151608946049">"Send keep-alive-meldinger"</string>
-    <string name="advanced_settings" msgid="2704644977548662872">"Valgfrie innstillinger"</string>
-    <string name="auth_username_title" msgid="9002505242616662698">"Brukernavn for autentisering"</string>
-    <string name="auth_username_summary" msgid="6346313945275377230">"Brukernavn som brukes til autentisering"</string>
-    <string name="default_preference_summary_username" msgid="8788114717555599222">"&lt;Ikke angitt&gt;"</string>
-    <string name="default_preference_summary_password" msgid="3695366978153175549">"&lt;Ikke angitt&gt;"</string>
-    <string name="default_preference_summary_domain_address" msgid="443247296785732364">"&lt;Ikke angitt&gt;"</string>
-    <string name="display_name_summary" msgid="6749135030093260358">"&lt;Samme som brukernavn&gt;"</string>
-    <string name="optional_summary" msgid="620379377865437488">"&lt;Valgfritt&gt;"</string>
-    <string name="advanced_settings_show" msgid="2318728080037568529">"▷ Trykk for å vise alle"</string>
-    <string name="advanced_settings_hide" msgid="6200816937370652083">"▽ Trykk for å skjule alle"</string>
-    <string name="all_empty_alert" msgid="6085603517610199098">"Skriv inn opplysningene tilknyttet den nye SIP-kontoen."</string>
-    <string name="empty_alert" msgid="3693655518612836718">"<xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> er obligatorisk. Feltet kan ikke være tomt."</string>
-    <string name="not_a_valid_port" msgid="3664668836663491376">"Portnummeret må være mellom 1000 og 65534."</string>
-    <string name="no_internet_available" msgid="161720645084325479">"For å bruke SIP-anrop må du først sjekke internettilkoblingen din."</string>
-    <string name="no_wifi_available" msgid="1179092018692306312">"Du må være koblet til et Wi-Fi-nettverk for å benytte SIP-anrop (bruk Trådløst og nettverk-innstillingene)."</string>
-    <string name="no_voip" msgid="3366395789297981738">"SIP-anrop støttes ikke"</string>
-    <string name="sip_system_decide" msgid="197230378376326430">"Automatisk"</string>
-    <string name="sip_always_send_keepalive" msgid="4986533673960084769">"Send alltid"</string>
-    <string name="sip_connection_service_label" msgid="8796284274240316006">"Innebygd SIP-anrop"</string>
-</resources>
diff --git a/sip/res/values-ne/strings.xml b/sip/res/values-ne/strings.xml
deleted file mode 100644
index e8938aa..0000000
--- a/sip/res/values-ne/strings.xml
+++ /dev/null
@@ -1,80 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2014 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7452587325305604702">"SIP सेटिङहरू"</string>
-    <string name="sip_accounts" msgid="7297896885665783239">"SIP खाताहरू"</string>
-    <string name="sip_accounts_title" msgid="3061686404598143943">"खाताहरू"</string>
-    <string name="sip_receive_calls" msgid="3403644006618369349">"आगमन कलहरू प्राप्त गर्नुहोस्"</string>
-    <string name="sip_receive_calls_summary" msgid="5306603671778761443">"बढी ब्याट्री आयु खपत गर्छ"</string>
-    <string name="sip_call_options_title" msgid="5027066677561068192">"SIP कल प्रयोग गर्नुहोस्"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6663105297927456484">"SIP कल प्रयोग गर्नुहोस् (Wi-Fi मात्र)"</string>
-    <string name="sip_call_options_entry_1" msgid="4722647332760934261">"डेटा नेटवर्क उपलब्ध हुँदा सबै कलहरूको लागि"</string>
-    <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="sip_account_list" msgid="2596262496233721769">"SIP खाताहरू"</string>
-    <string name="saving_account" msgid="3390358043846687266">"खाता बचत गर्दै..."</string>
-    <string name="removing_account" msgid="1544132880414780408">"खाता हटाउँदै..."</string>
-    <string name="sip_menu_save" msgid="4377112554203123060">"सेभ गर्नुहोस्"</string>
-    <string name="sip_menu_discard" msgid="1883166691772895243">"त्याग्नुहोस्"</string>
-    <string name="alert_dialog_close" msgid="1734746505531110706">"प्रोफाइल बन्द गर्नुहोस्"</string>
-    <string name="alert_dialog_ok" msgid="7806760618798687406">"ठिक छ"</string>
-    <string name="close_profile" msgid="3756064641769751774">"बन्द गर्नुहोस्"</string>
-    <string name="registration_status_checking_status" msgid="884179594507591180">"स्थिति जाँच गर्दै..."</string>
-    <string name="registration_status_registering" msgid="7986331597809521791">"दर्ता गर्दै..."</string>
-    <string name="registration_status_still_trying" msgid="7178623685868766282">"प्रयास गरिँदै..."</string>
-    <string name="registration_status_not_receiving" msgid="3873074208531938401">"कलहरू प्राप्त भैरहेका छैनन्"</string>
-    <string name="registration_status_no_data" msgid="2987064560116584121">"खाता दर्ता प्रक्रिया रोकियो किनकि इन्टरनेट जडित छैन।"</string>
-    <string name="registration_status_no_wifi_data" msgid="685470618241482948">"खाता दर्ता रोकियो किनकि Wi-Fi जडित छैन।"</string>
-    <string name="registration_status_not_running" msgid="6236403137652262659">"खाता दर्ता गर्न विफल"</string>
-    <string name="registration_status_done" msgid="6787397199273357721">"कलहरू प्राप्त गर्दै।"</string>
-    <string name="registration_status_failed_try_later" msgid="7855389184910312091">"खाता दर्ता गर्न विफल: (<xliff:g id="REGISTRATION_ERROR_MESSAGE">%s</xliff:g>); पछि प्रयास गर्नुहोस्"</string>
-    <string name="registration_status_invalid_credentials" msgid="8896714049938660777">"खाता दर्ता प्रक्रिया असफल: गलत युजरनेम वा पासवर्ड।"</string>
-    <string name="registration_status_server_unreachable" msgid="3832339558868965604">"खाता दर्ता गर्न असफल: सर्भरको नाम जाँच गर्नुहोस्।"</string>
-    <string name="third_party_account_summary" msgid="5918779106950859167">"<xliff:g id="ACCOUNT_OWNER">%s</xliff:g> अनुप्रयोगद्वारा यो खाता हाल प्रयोगमा छ।"</string>
-    <string name="sip_edit_title" msgid="7438891546610820307">"SIP खाता विवरणहरू"</string>
-    <string name="sip_edit_new_title" msgid="8394790068979636381">"SIP खाता विवरणहरू"</string>
-    <string name="domain_address_title" msgid="8238078615181248579">"सर्भर"</string>
-    <string name="username_title" msgid="298416796886107970">"एक-पटके टेक्स्ट म्यासेज"</string>
-    <string name="password_title" msgid="8035579335591959021">"पासवर्ड"</string>
-    <string name="display_name_title" msgid="3730105783656830160">"नाम प्रदर्शन गर्नुहोस्"</string>
-    <string name="proxy_address_title" msgid="4120361943254795287">"बाहिरका प्रोक्सी ठेगाना"</string>
-    <string name="port_title" msgid="1703586046264385110">"पोर्ट सङ्ख्या"</string>
-    <string name="transport_title" msgid="1661659138226029178">"यातायात प्रकार"</string>
-    <string name="send_keepalive_title" msgid="5319788151608946049">"चालु राख्नको लागि पठाउनुहोस्"</string>
-    <string name="advanced_settings" msgid="2704644977548662872">"वैकल्पिक सेटिङहरू"</string>
-    <string name="auth_username_title" msgid="9002505242616662698">"प्रमाणीकरणको एक-पटके टेक्स्ट म्यासेज"</string>
-    <string name="auth_username_summary" msgid="6346313945275377230">"प्रमाणीकरणको लागि एक-पटके टेक्स्ट म्यासेज प्रयोग भएको"</string>
-    <string name="default_preference_summary_username" msgid="8788114717555599222">"&lt;सेट गरिएको छैन&gt;"</string>
-    <string name="default_preference_summary_password" msgid="3695366978153175549">"&lt;सेट गरिएको छैन&gt;"</string>
-    <string name="default_preference_summary_domain_address" msgid="443247296785732364">"&lt;सेट गरिएको छैन&gt;"</string>
-    <string name="display_name_summary" msgid="6749135030093260358">"&lt;एक-पटके टेक्स्ट म्यासेज जस्तै&gt;"</string>
-    <string name="optional_summary" msgid="620379377865437488">"&lt;वैकल्पिकgt;"</string>
-    <string name="advanced_settings_show" msgid="2318728080037568529">"▷ छोएर सबै देखाउनुहोस्"</string>
-    <string name="advanced_settings_hide" msgid="6200816937370652083">"▽ छोएर सबै लुकाउनुहोस्"</string>
-    <string name="all_empty_alert" msgid="6085603517610199098">"नयाँ SIP खाताको विवरणहरू प्रविष्टि गर्नुहोस्।"</string>
-    <string name="empty_alert" msgid="3693655518612836718">"<xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> चाहिन्छ र खाली छोड्न सकिँदैन।"</string>
-    <string name="not_a_valid_port" msgid="3664668836663491376">"पोर्ट संख्या १००० र  ६५५३४ को बीचमा हुनु पर्छ।"</string>
-    <string name="no_internet_available" msgid="161720645084325479">"एक SIP कल गर्नका लागि पहिले तपाईंको इन्टरनेट जडान जाँच गर्नुहोस्।"</string>
-    <string name="no_wifi_available" msgid="1179092018692306312">"SIP कलका लागि तपाईं एउटा Wi-Fi सञ्जालमा जडित हुन पर्छ (ताररहित &amp; सञ्जाल सेटिङ प्रयोग गर्नुहोस्)."</string>
-    <string name="no_voip" msgid="3366395789297981738">"SIP कल गर्न समर्थित छैन"</string>
-    <string name="sip_system_decide" msgid="197230378376326430">"स्वचालित"</string>
-    <string name="sip_always_send_keepalive" msgid="4986533673960084769">"सधैँ पठाउनुहोस्"</string>
-    <string name="sip_connection_service_label" msgid="8796284274240316006">"अन्तरनिर्मित SIP कल"</string>
-</resources>
diff --git a/sip/res/values-nl/strings.xml b/sip/res/values-nl/strings.xml
deleted file mode 100644
index 1b321c3..0000000
--- a/sip/res/values-nl/strings.xml
+++ /dev/null
@@ -1,80 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2014 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7452587325305604702">"SIP-instelllingen"</string>
-    <string name="sip_accounts" msgid="7297896885665783239">"SIP-accounts"</string>
-    <string name="sip_accounts_title" msgid="3061686404598143943">"Accounts"</string>
-    <string name="sip_receive_calls" msgid="3403644006618369349">"Binnenkomende gesprekken ontvangen"</string>
-    <string name="sip_receive_calls_summary" msgid="5306603671778761443">"Gebruikt meer batterijlading"</string>
-    <string name="sip_call_options_title" msgid="5027066677561068192">"SIP-gesprekken gebruiken"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6663105297927456484">"SIP-gesprekken gebruiken (alleen wifi)"</string>
-    <string name="sip_call_options_entry_1" msgid="4722647332760934261">"Voor alle gesprekken indien gegevensnetwerk beschikbaar is"</string>
-    <string name="sip_call_options_entry_2" msgid="7338504256051655013">"Alleen voor SIP-gesprekken"</string>
-    <string name="sip_call_options_wifi_only_entry_1" msgid="922329055414010991">"Voor alle gesprekken"</string>
-    <string name="add_sip_account" msgid="5754758646745144384">"Account toevoegen"</string>
-    <string name="remove_sip_account" msgid="8272617403399636513">"Account verwijderen"</string>
-    <string name="sip_account_list" msgid="2596262496233721769">"SIP-accounts"</string>
-    <string name="saving_account" msgid="3390358043846687266">"Het account opslaan…"</string>
-    <string name="removing_account" msgid="1544132880414780408">"Het account verwijderen…"</string>
-    <string name="sip_menu_save" msgid="4377112554203123060">"Opslaan"</string>
-    <string name="sip_menu_discard" msgid="1883166691772895243">"Verwijderen"</string>
-    <string name="alert_dialog_close" msgid="1734746505531110706">"Het profiel sluiten"</string>
-    <string name="alert_dialog_ok" msgid="7806760618798687406">"OK"</string>
-    <string name="close_profile" msgid="3756064641769751774">"Sluiten"</string>
-    <string name="registration_status_checking_status" msgid="884179594507591180">"Status controleren..."</string>
-    <string name="registration_status_registering" msgid="7986331597809521791">"Registreren…"</string>
-    <string name="registration_status_still_trying" msgid="7178623685868766282">"Nog steeds bezig…"</string>
-    <string name="registration_status_not_receiving" msgid="3873074208531938401">"Gesprekken worden niet ontvangen."</string>
-    <string name="registration_status_no_data" msgid="2987064560116584121">"Accountregistratie gestopt omdat er geen internetverbinding is."</string>
-    <string name="registration_status_no_wifi_data" msgid="685470618241482948">"Accountregistratie gestopt omdat er geen wifi-verbinding is."</string>
-    <string name="registration_status_not_running" msgid="6236403137652262659">"Accountregistratie mislukt."</string>
-    <string name="registration_status_done" msgid="6787397199273357721">"Gesprekken worden ontvangen."</string>
-    <string name="registration_status_failed_try_later" msgid="7855389184910312091">"Accountregistratie mislukt: (<xliff:g id="REGISTRATION_ERROR_MESSAGE">%s</xliff:g>). We proberen het later opnieuw."</string>
-    <string name="registration_status_invalid_credentials" msgid="8896714049938660777">"Accountregistratie mislukt: gebruikersnaam of wachtwoord onjuist."</string>
-    <string name="registration_status_server_unreachable" msgid="3832339558868965604">"Accountregistratie mislukt: controleer de servernaam."</string>
-    <string name="third_party_account_summary" msgid="5918779106950859167">"Dit account wordt momenteel gebruikt door de app <xliff:g id="ACCOUNT_OWNER">%s</xliff:g>."</string>
-    <string name="sip_edit_title" msgid="7438891546610820307">"SIP-gegevens"</string>
-    <string name="sip_edit_new_title" msgid="8394790068979636381">"SIP-gegevens"</string>
-    <string name="domain_address_title" msgid="8238078615181248579">"Server"</string>
-    <string name="username_title" msgid="298416796886107970">"Gebruikersnaam"</string>
-    <string name="password_title" msgid="8035579335591959021">"Wachtwoord"</string>
-    <string name="display_name_title" msgid="3730105783656830160">"Weergavenaam"</string>
-    <string name="proxy_address_title" msgid="4120361943254795287">"Adres voor uitgaande proxy"</string>
-    <string name="port_title" msgid="1703586046264385110">"Poortnummer"</string>
-    <string name="transport_title" msgid="1661659138226029178">"Transporttype"</string>
-    <string name="send_keepalive_title" msgid="5319788151608946049">"Keepalive verzenden"</string>
-    <string name="advanced_settings" msgid="2704644977548662872">"Optionele instellingen"</string>
-    <string name="auth_username_title" msgid="9002505242616662698">"Gebruikersnaam voor verificatie"</string>
-    <string name="auth_username_summary" msgid="6346313945275377230">"Gebruikersnaam die voor de verificatie wordt gebruikt"</string>
-    <string name="default_preference_summary_username" msgid="8788114717555599222">"&lt;Niet ingesteld&gt;"</string>
-    <string name="default_preference_summary_password" msgid="3695366978153175549">"&lt;Niet ingesteld&gt;"</string>
-    <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 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>
-    <string name="not_a_valid_port" msgid="3664668836663491376">"Het poortnummer moet tussen 1000 en 65534 liggen."</string>
-    <string name="no_internet_available" msgid="161720645084325479">"Als je een SIP-gesprek wilt plaatsen, controleer je eerst je internetverbinding."</string>
-    <string name="no_wifi_available" msgid="1179092018692306312">"Je moet verbinding hebben met een wifi-netwerk voor SIP-gesprekken (gebruik de instellingen bij \'Draadloos en netwerken\')."</string>
-    <string name="no_voip" msgid="3366395789297981738">"SIP-gesprekken worden niet ondersteund"</string>
-    <string name="sip_system_decide" msgid="197230378376326430">"Automatisch"</string>
-    <string name="sip_always_send_keepalive" msgid="4986533673960084769">"Altijd verzenden"</string>
-    <string name="sip_connection_service_label" msgid="8796284274240316006">"Ingebouwde SIP-gesprekken"</string>
-</resources>
diff --git a/sip/res/values-or/strings.xml b/sip/res/values-or/strings.xml
deleted file mode 100644
index 3c60d09..0000000
--- a/sip/res/values-or/strings.xml
+++ /dev/null
@@ -1,80 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2014 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7452587325305604702">"SIP ସେଟିଙ୍ଗ"</string>
-    <string name="sip_accounts" msgid="7297896885665783239">"SIP ଆକାଉଣ୍ଟ"</string>
-    <string name="sip_accounts_title" msgid="3061686404598143943">"ଆକାଉଣ୍ଟ"</string>
-    <string name="sip_receive_calls" msgid="3403644006618369349">"ଇନ୍‌କମିଙ୍ଗ କଲ୍ ଗ୍ରହଣ କରନ୍ତୁ"</string>
-    <string name="sip_receive_calls_summary" msgid="5306603671778761443">"ଅଧିକ ବ୍ୟାଟେରୀ ଖର୍ଚ୍ଚ କରେ"</string>
-    <string name="sip_call_options_title" msgid="5027066677561068192">"SIP କଲିଙ୍ଗ ବ୍ୟବହାର କରନ୍ତୁ"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6663105297927456484">"SIP କଲିଙ୍ଗ ବ୍ୟବହାର କରନ୍ତୁ (କେବଳ ୱାଇ-ଫାଇ)"</string>
-    <string name="sip_call_options_entry_1" msgid="4722647332760934261">"ଡାଟା ନେଟ୍‌ୱର୍କ ଉପଲବ୍ଧ ଥିବା ବେଳେ ସମସ୍ତ କଲ୍ ପାଇଁ"</string>
-    <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="sip_account_list" msgid="2596262496233721769">"SIP ଆକାଉଣ୍ଟ"</string>
-    <string name="saving_account" msgid="3390358043846687266">"ଆକାଉଣ୍ଟକୁ ସେଭ୍ କରାଯାଉଛି…"</string>
-    <string name="removing_account" msgid="1544132880414780408">"ଆକାଉଣ୍ଟ କଢ଼ାଯାଉଛି…"</string>
-    <string name="sip_menu_save" msgid="4377112554203123060">"ସେଭ୍‌ କରନ୍ତୁ"</string>
-    <string name="sip_menu_discard" msgid="1883166691772895243">"ଖାରଜ କରନ୍ତୁ"</string>
-    <string name="alert_dialog_close" msgid="1734746505531110706">"ପ୍ରୋଫାଇଲ୍‌କୁ ବନ୍ଦ କରନ୍ତୁ"</string>
-    <string name="alert_dialog_ok" msgid="7806760618798687406">"ଠିକ୍ ଅଛି"</string>
-    <string name="close_profile" msgid="3756064641769751774">"ବନ୍ଦ କରନ୍ତୁ"</string>
-    <string name="registration_status_checking_status" msgid="884179594507591180">"ଷ୍ଟାଟସ୍ ଯାଞ୍ଚ କରାଯାଉଛି…"</string>
-    <string name="registration_status_registering" msgid="7986331597809521791">"ପଞ୍ଜୀକରଣ ହେଉଛି…"</string>
-    <string name="registration_status_still_trying" msgid="7178623685868766282">"ତଥାପି ଚେଷ୍ଟାକରୁଛି…"</string>
-    <string name="registration_status_not_receiving" msgid="3873074208531938401">"କଲ୍ ଗ୍ରହଣ କରାଯାଉ ନାହିଁ।"</string>
-    <string name="registration_status_no_data" msgid="2987064560116584121">"ଆକାଉଣ୍ଟର ପଞ୍ଜୀକରଣ ବନ୍ଦ ହୋ‌ଇଗଲା କାରଣ ଇଣ୍ଟରନେଟ୍ କନେକ୍ସନ୍ ନାହିଁ।"</string>
-    <string name="registration_status_no_wifi_data" msgid="685470618241482948">"ଆକାଉଣ୍ଟର ପଞ୍ଜୀକରଣ ବନ୍ଦ ହୋ‌ଇଗଲା କାରଣ ୱାଇ-ଫାଇ କନେକ୍ସନ୍ ନାହିଁ।"</string>
-    <string name="registration_status_not_running" msgid="6236403137652262659">"ଆକାଉଣ୍ଟର ପଞ୍ଜୀକରଣ ବିଫଳ ହେଲା।"</string>
-    <string name="registration_status_done" msgid="6787397199273357721">"ଗ୍ରହଣ କରାଯାଉଥିବା କଲ୍।"</string>
-    <string name="registration_status_failed_try_later" msgid="7855389184910312091">"ଆକାଉଣ୍ଟର ପଞ୍ଜୀକରଣ ବିଫଳ ହେଲା:(<xliff:g id="REGISTRATION_ERROR_MESSAGE">%s</xliff:g>); ପରେ ଚେଷ୍ଟା କରନ୍ତୁ"</string>
-    <string name="registration_status_invalid_credentials" msgid="8896714049938660777">"ଆକାଉଣ୍ଟର ପଞ୍ଜୀକରଣ ବିଫଳ ହେଲା: ଭୁଲ୍ ୟୁଜରନେମ୍ କିମ୍ବା ପାସ୍‌ୱର୍ଡ।"</string>
-    <string name="registration_status_server_unreachable" msgid="3832339558868965604">"ଆକାଉଣ୍ଟର ପଞ୍ଜୀକରଣ ବିଫଳ ହେଲା: ସର୍ଭର୍‌ର ନାମକୁ ଯାଞ୍ଚ କରନ୍ତୁ।"</string>
-    <string name="third_party_account_summary" msgid="5918779106950859167">"ଏହି ଆକାଉଣ୍ଟ ବର୍ତ୍ତମାନ <xliff:g id="ACCOUNT_OWNER">%s</xliff:g> ଆପ୍ ଦ୍ଵାରା ବ୍ୟବହାର ହେଉଛି।"</string>
-    <string name="sip_edit_title" msgid="7438891546610820307">"SIP ଆକାଉଣ୍ଟ ବିବରଣି"</string>
-    <string name="sip_edit_new_title" msgid="8394790068979636381">"SIP ଆକାଉଣ୍ଟ ବିବରଣି"</string>
-    <string name="domain_address_title" msgid="8238078615181248579">"ସର୍ଭର୍"</string>
-    <string name="username_title" msgid="298416796886107970">"ୟୁଜରନେମ୍‌"</string>
-    <string name="password_title" msgid="8035579335591959021">"ପାସ୍‌ୱର୍ଡ"</string>
-    <string name="display_name_title" msgid="3730105783656830160">"ନାମ ଦେଖାନ୍ତୁ"</string>
-    <string name="proxy_address_title" msgid="4120361943254795287">"ଆଉଟ୍‌ବାଉଣ୍ଡ ପ୍ରୋକ୍ସୀ ଠିକଣା"</string>
-    <string name="port_title" msgid="1703586046264385110">"ପୋର୍ଟ ସଂଖ୍ୟା"</string>
-    <string name="transport_title" msgid="1661659138226029178">"ପରିବହନର ପ୍ରକାର"</string>
-    <string name="send_keepalive_title" msgid="5319788151608946049">"କୀପ୍-ଏଲାଇଭ୍ ପଠାନ୍ତୁ"</string>
-    <string name="advanced_settings" msgid="2704644977548662872">"ବାଧ୍ୟତାମୂଳକ ନଥିବା ସେଟିଙ୍ଗ"</string>
-    <string name="auth_username_title" msgid="9002505242616662698">"ପ୍ରମାଣିକରଣ ୟୁଜରନେମ୍"</string>
-    <string name="auth_username_summary" msgid="6346313945275377230">"ପ୍ରମାଣିକରଣ ପାଇଁ ବ୍ୟବହାର ହେଉଥିବା ୟୁଜରନେମ୍"</string>
-    <string name="default_preference_summary_username" msgid="8788114717555599222">"&lt;ସେଟ୍ କରାଯାଇନାହିଁ&gt;"</string>
-    <string name="default_preference_summary_password" msgid="3695366978153175549">"&lt;ସେଟ୍ କରାଯାଇନାହିଁ&gt;"</string>
-    <string name="default_preference_summary_domain_address" msgid="443247296785732364">"&lt;ସେଟ୍ କରାଯାଇନାହିଁ&gt;"</string>
-    <string name="display_name_summary" msgid="6749135030093260358">"&lt;ୟୁଜରନେମ୍ ଭଳି ସମାନ&gt;"</string>
-    <string name="optional_summary" msgid="620379377865437488">"&lt;ବାଧ୍ୟ ନୁହେଁ&gt;"</string>
-    <string name="advanced_settings_show" msgid="2318728080037568529">"▷ ସମସ୍ତକୁ ଦେଖାଇବା ପାଇଁ ଛୁଅନ୍ତୁ"</string>
-    <string name="advanced_settings_hide" msgid="6200816937370652083">"▽ ସମସ୍ତକୁ ଲୁଚାଇବା ପାଇଁ ଛୁଅନ୍ତୁ"</string>
-    <string name="all_empty_alert" msgid="6085603517610199098">"ନୂଆ SIP ଆକାଉଣ୍ଟର ବିବରଣୀକୁ ପ୍ରବେଶ କରନ୍ତୁ"</string>
-    <string name="empty_alert" msgid="3693655518612836718">"<xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> ଆବଶ୍ୟକ ଏବଂ ଏହାକୁ ଖାଲି ଛଡ଼ାଯାଇପାରିବ ନାହିଁ।"</string>
-    <string name="not_a_valid_port" msgid="3664668836663491376">"ପୋର୍ଟ ସଂଖ୍ୟା ନିଶ୍ଚିତରୂପେ 1000 ଓ 65534 ମଧ୍ୟରେ ରହିବା ଆବଶ୍ୟକ।"</string>
-    <string name="no_internet_available" msgid="161720645084325479">"ଗୋଟିଏ SIP କଲ୍ କରିବା ପାଇଁ ପ୍ରଥମେ ନିଜର ଇଣ୍ଟରନେଟ୍ କନେକ୍ସନ୍‌କୁ ଯାଞ୍ଚ କରନ୍ତୁ।"</string>
-    <string name="no_wifi_available" msgid="1179092018692306312">"SIP କଲ୍ କରିବା ପାଇଁ ଆପଣଙ୍କୁ ଗୋଟିଏ ୱାଇ-ଫାଇ ନେଟ୍‌ୱର୍କ ସହିତ କନେକ୍ଟ ହେବାକୁ ପଡ଼ିବ(ତାରବିହୀନ ଓ ନେଟ୍‌ୱର୍କ ସେଟିଙ୍ଗକୁ ବ୍ୟବହାର କରନ୍ତୁ)।"</string>
-    <string name="no_voip" msgid="3366395789297981738">"SIP କଲିଙ୍ଗ ସପୋର୍ଟ କରୁନାହିଁ"</string>
-    <string name="sip_system_decide" msgid="197230378376326430">"ସ୍ଵଚାଳିତ"</string>
-    <string name="sip_always_send_keepalive" msgid="4986533673960084769">"ସର୍ବଦା ପଠାନ୍ତୁ"</string>
-    <string name="sip_connection_service_label" msgid="8796284274240316006">"ବିଲ୍ଟ-ଇନ୍ SIP କଲିଙ୍ଗ"</string>
-</resources>
diff --git a/sip/res/values-pa/strings.xml b/sip/res/values-pa/strings.xml
deleted file mode 100644
index 4606d96..0000000
--- a/sip/res/values-pa/strings.xml
+++ /dev/null
@@ -1,80 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2014 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7452587325305604702">"SIP ਸੈਟਿੰਗਾਂ"</string>
-    <string name="sip_accounts" msgid="7297896885665783239">"SIP ਖਾਤੇ"</string>
-    <string name="sip_accounts_title" msgid="3061686404598143943">"ਖਾਤੇ"</string>
-    <string name="sip_receive_calls" msgid="3403644006618369349">"ਇਨਕਮਿੰਗ ਕਾਲਾਂ ਪ੍ਰਾਪਤ ਕਰੋ"</string>
-    <string name="sip_receive_calls_summary" msgid="5306603671778761443">"ਬੈਟਰੀ ਦੀ ਖਪਤ ਵਧ ਜਾਂਦੀ ਹੈ"</string>
-    <string name="sip_call_options_title" msgid="5027066677561068192">"SIP ਕਾਲਿੰਗ ਵਰਤੋ"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6663105297927456484">"SIP ਕਾਲਿੰਗ ਵਰਤੋ (ਕੇਵਲ Wi-Fi)"</string>
-    <string name="sip_call_options_entry_1" msgid="4722647332760934261">"ਜਦੋਂ ਡਾਟਾ ਨੈਟਵਰਕ ਉਪਲਬਧ ਹੋਵੇ ਤਾਂ ਸਾਰੀਆਂ ਕਾਲਾਂ ਲਈ"</string>
-    <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="sip_account_list" msgid="2596262496233721769">"SIP ਖਾਤੇ"</string>
-    <string name="saving_account" msgid="3390358043846687266">"ਖਾਤਾ ਸੁਰੱਖਿਅਤ ਕਰ ਰਿਹਾ ਹੈ…"</string>
-    <string name="removing_account" msgid="1544132880414780408">"ਖਾਤਾ ਹਟਾ ਰਿਹਾ ਹੈ…"</string>
-    <string name="sip_menu_save" msgid="4377112554203123060">"ਰੱਖਿਅਤ ਕਰੋ"</string>
-    <string name="sip_menu_discard" msgid="1883166691772895243">"ਖਾਰਜ ਕਰੋ"</string>
-    <string name="alert_dialog_close" msgid="1734746505531110706">"ਪ੍ਰੋਫਾਈਲ ਬੰਦ ਕਰੋ"</string>
-    <string name="alert_dialog_ok" msgid="7806760618798687406">"ਠੀਕ"</string>
-    <string name="close_profile" msgid="3756064641769751774">"ਬੰਦ ਕਰੋ"</string>
-    <string name="registration_status_checking_status" msgid="884179594507591180">"ਸਥਿਤੀ ਦੀ ਜਾਂਚ ਕਰ ਰਿਹਾ ਹੈ..."</string>
-    <string name="registration_status_registering" msgid="7986331597809521791">"ਰਜਿਸਟਰ ਕਰ ਰਿਹਾ ਹੈ…"</string>
-    <string name="registration_status_still_trying" msgid="7178623685868766282">"ਅਜੇ ਵੀ ਕੋਸ਼ਿਸ਼ ਕਰ ਰਿਹਾ ਹੈ…"</string>
-    <string name="registration_status_not_receiving" msgid="3873074208531938401">"ਕਾਲਾਂ ਪ੍ਰਾਪਤ ਨਹੀਂ ਕਰ ਰਿਹਾ ਹੈ।"</string>
-    <string name="registration_status_no_data" msgid="2987064560116584121">"ਖਾਤਾ ਰਜਿਸਟਰੇਸ਼ਨ ਰੁਕ ਗਿਆ ਕਿਉਂਕਿ ਕੋਈ ਇੰਟਰਨੈਟ ਕਨੈਕਸ਼ਨ ਨਹੀਂ ਹੈ।"</string>
-    <string name="registration_status_no_wifi_data" msgid="685470618241482948">"ਖਾਤਾ ਰਜਿਸਟਰੇਸ਼ਨ ਰੁਕ ਗਿਆ ਕਿਉਂਕਿ ਕੋਈ Wi-Fi ਕਨੈਕਸ਼ਨ ਨਹੀਂ ਹੈ।"</string>
-    <string name="registration_status_not_running" msgid="6236403137652262659">"ਖਾਤਾ ਰਜਿਸਟਰੇਸ਼ਨ ਅਸਫਲ।"</string>
-    <string name="registration_status_done" msgid="6787397199273357721">"ਕਾਲਾਂ ਪ੍ਰਾਪਤ ਕਰ ਰਿਹਾ ਹੈ।"</string>
-    <string name="registration_status_failed_try_later" msgid="7855389184910312091">"ਖਾਤਾ ਰਜਿਸਟਰੇਸ਼ਨ ਅਸਫਲ: (<xliff:g id="REGISTRATION_ERROR_MESSAGE">%s</xliff:g>); ਬਾਅਦ ਵਿੱਚ ਕੋਸ਼ਿਸ਼ ਕਰੇਗਾ"</string>
-    <string name="registration_status_invalid_credentials" msgid="8896714049938660777">"ਖਾਤਾ ਰਜਿਸਟਰੇਸ਼ਨ ਅਸਫਲ: ਗ਼ਲਤ ਵਰਤੋਂਕਾਰ ਨਾਮ ਜਾਂ ਪਾਸਵਰਡ।"</string>
-    <string name="registration_status_server_unreachable" msgid="3832339558868965604">"ਖਾਤਾ ਰਜਿਸਟਰੇਸ਼ਨ ਅਸਫਲ: ਸਰਵਰ ਨਾਮ ਦੀ ਜਾਂਚ ਕਰੋ।"</string>
-    <string name="third_party_account_summary" msgid="5918779106950859167">"ਇਹ ਖਾਤਾ ਇਸ ਵੇਲੇ <xliff:g id="ACCOUNT_OWNER">%s</xliff:g> ਐਪ ਵੱਲੋਂ ਵਰਤੋਂ ਵਿੱਚ ਹੈ।"</string>
-    <string name="sip_edit_title" msgid="7438891546610820307">"SIP ਖਾਤਾ ਵੇਰਵੇ"</string>
-    <string name="sip_edit_new_title" msgid="8394790068979636381">"SIP ਖਾਤਾ ਵੇਰਵੇ"</string>
-    <string name="domain_address_title" msgid="8238078615181248579">"ਸਰਵਰ"</string>
-    <string name="username_title" msgid="298416796886107970">"ਵਰਤੋਂਕਾਰ ਨਾਮ"</string>
-    <string name="password_title" msgid="8035579335591959021">"ਪਾਸਵਰਡ"</string>
-    <string name="display_name_title" msgid="3730105783656830160">"ਡਿਸਪਲੇ ਨਾਮ"</string>
-    <string name="proxy_address_title" msgid="4120361943254795287">"ਆਊਟਬਾਊਂਡ ਪ੍ਰੌਕਸੀ ਪਤਾ"</string>
-    <string name="port_title" msgid="1703586046264385110">"ਪੋਰਟ ਨੰਬਰ"</string>
-    <string name="transport_title" msgid="1661659138226029178">"ਟ੍ਰਾਂਸਪੋਰਟ ਦੀ ਕਿਸਮ"</string>
-    <string name="send_keepalive_title" msgid="5319788151608946049">"ਕੀਪ-ਅਲਾਈਵ ਭੇਜੋ"</string>
-    <string name="advanced_settings" msgid="2704644977548662872">"ਵਿਕਲਪਿਕ ਸੈਟਿੰਗਾਂ"</string>
-    <string name="auth_username_title" msgid="9002505242616662698">"ਪ੍ਰਮਾਣੀਕਰਨ ਵਰਤੋਂਕਾਰ ਨਾਮ"</string>
-    <string name="auth_username_summary" msgid="6346313945275377230">"ਪ੍ਰਮਾਣੀਕਰਨ ਲਈ ਵਰਤਿਆ ਗਿਆ ਵਰਤੋਂਕਾਰ ਨਾਮ"</string>
-    <string name="default_preference_summary_username" msgid="8788114717555599222">"&lt;ਸੈੱਟ ਨਹੀਂ&gt;"</string>
-    <string name="default_preference_summary_password" msgid="3695366978153175549">"&lt;ਸੈੱਟ ਨਹੀਂ&gt;"</string>
-    <string name="default_preference_summary_domain_address" msgid="443247296785732364">"&lt;ਸੈੱਟ ਨਹੀਂ&gt;"</string>
-    <string name="display_name_summary" msgid="6749135030093260358">"&lt;ਉਹੀ ਹੈ ਜੋ ਵਰਤੋਂਕਾਰ ਨਾਮ ਹੈ&gt;"</string>
-    <string name="optional_summary" msgid="620379377865437488">"&lt;ਵਿਕਲਪਿਕ&gt;"</string>
-    <string name="advanced_settings_show" msgid="2318728080037568529">"▷ ਸਾਰੇ ਦਿਖਾਉਣ ਲਈ ਸਪੱਰਸ਼ ਕਰੋ"</string>
-    <string name="advanced_settings_hide" msgid="6200816937370652083">"▽ ਸਾਰੇ ਲੁਕਾਉਣ ਲਈ ਸਪੱਰਸ਼ ਕਰੋ"</string>
-    <string name="all_empty_alert" msgid="6085603517610199098">"ਨਵੇਂ SIP ਖਾਤੇ ਦੇ ਵੇਰਵੇ ਦਾਖ਼ਲ ਕਰੋ।"</string>
-    <string name="empty_alert" msgid="3693655518612836718">"<xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> ਲੁੜੀਂਦਾ ਹੈ ਅਤੇ ਇਸਨੂੰ ਖਾਲੀ ਨਹੀਂ ਛੱਡਿਆ ਜਾ ਸਕਦਾ।"</string>
-    <string name="not_a_valid_port" msgid="3664668836663491376">"ਪੋਰਟ ਨੰਬਰ 1000 ਅਤੇ 65534 ਵਿਚਕਾਰ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ।"</string>
-    <string name="no_internet_available" msgid="161720645084325479">"ਇੱਕ SIP ਕਾਲ ਕਰਨ ਲਈ, ਪਹਿਲਾਂ ਆਪਣੇ ਇੰਟਰਨੈਟ ਕਨੈਕਸ਼ਨ ਦੀ ਜਾਂਚ ਕਰੋ।"</string>
-    <string name="no_wifi_available" msgid="1179092018692306312">"SIP ਕਾਲਾਂ ਲਈ ਤੁਹਾਨੂੰ ਇੱਕ Wi-Fi ਨੈਟਵਰਕ ਨਾਲ ਕਨੈਕਟ ਕਰਨ ਦੀ ਲੋੜ ਹੋਵੇਗੀ (ਵਾਇਰਲੈਸ &amp; ਨੈਟਵਰਕ ਸੈਟਿੰਗਾਂ ਵਰਤੋ)।"</string>
-    <string name="no_voip" msgid="3366395789297981738">"SIP ਕਾਲਿੰਗ ਸਮਰਥਿਤ ਨਹੀਂ"</string>
-    <string name="sip_system_decide" msgid="197230378376326430">"ਸਵੈਚਲਿਤ"</string>
-    <string name="sip_always_send_keepalive" msgid="4986533673960084769">"ਹਮੇਸ਼ਾਂ ਭੇਜੋ"</string>
-    <string name="sip_connection_service_label" msgid="8796284274240316006">"ਬਿਲਟ-ਇਨ SIP ਕਾਲਿੰਗ"</string>
-</resources>
diff --git a/sip/res/values-pl/strings.xml b/sip/res/values-pl/strings.xml
deleted file mode 100644
index f88f8a2..0000000
--- a/sip/res/values-pl/strings.xml
+++ /dev/null
@@ -1,80 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2014 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7452587325305604702">"Ustawienia SIP"</string>
-    <string name="sip_accounts" msgid="7297896885665783239">"Konta SIP"</string>
-    <string name="sip_accounts_title" msgid="3061686404598143943">"Konta"</string>
-    <string name="sip_receive_calls" msgid="3403644006618369349">"Odbieraj przychodzące"</string>
-    <string name="sip_receive_calls_summary" msgid="5306603671778761443">"Skraca czas pracy baterii"</string>
-    <string name="sip_call_options_title" msgid="5027066677561068192">"Użyj połączenia SIP"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6663105297927456484">"Użyj połączenia SIP (tylko przez Wi-Fi)"</string>
-    <string name="sip_call_options_entry_1" msgid="4722647332760934261">"Przy wszystkich połączeniach, gdy sieć transmisji danych jest dostępna"</string>
-    <string name="sip_call_options_entry_2" msgid="7338504256051655013">"Tylko połączenia SIP"</string>
-    <string name="sip_call_options_wifi_only_entry_1" msgid="922329055414010991">"Wszystkie połączenia"</string>
-    <string name="add_sip_account" msgid="5754758646745144384">"Dodaj konto"</string>
-    <string name="remove_sip_account" msgid="8272617403399636513">"Usuń konto"</string>
-    <string name="sip_account_list" msgid="2596262496233721769">"Konta SIP"</string>
-    <string name="saving_account" msgid="3390358043846687266">"Zapisuję konto…"</string>
-    <string name="removing_account" msgid="1544132880414780408">"Usuwam konto…"</string>
-    <string name="sip_menu_save" msgid="4377112554203123060">"Zapisz"</string>
-    <string name="sip_menu_discard" msgid="1883166691772895243">"Odrzuć"</string>
-    <string name="alert_dialog_close" msgid="1734746505531110706">"Zamknij profil"</string>
-    <string name="alert_dialog_ok" msgid="7806760618798687406">"OK"</string>
-    <string name="close_profile" msgid="3756064641769751774">"Zamknij"</string>
-    <string name="registration_status_checking_status" msgid="884179594507591180">"Sprawdzam stan..."</string>
-    <string name="registration_status_registering" msgid="7986331597809521791">"Rejestruję…"</string>
-    <string name="registration_status_still_trying" msgid="7178623685868766282">"Nadal próbuję…"</string>
-    <string name="registration_status_not_receiving" msgid="3873074208531938401">"Połączenia nie są odbierane."</string>
-    <string name="registration_status_no_data" msgid="2987064560116584121">"Rejestracja konta została zatrzymana, ponieważ nie masz połączenia internetowego."</string>
-    <string name="registration_status_no_wifi_data" msgid="685470618241482948">"Rejestracja konta została zatrzymana, ponieważ nie masz połączenia Wi-Fi."</string>
-    <string name="registration_status_not_running" msgid="6236403137652262659">"Rejestracja konta nie powiodła się."</string>
-    <string name="registration_status_done" msgid="6787397199273357721">"Odbieranie połączeń."</string>
-    <string name="registration_status_failed_try_later" msgid="7855389184910312091">"Rejestracja konta nie powiodła się: (<xliff:g id="REGISTRATION_ERROR_MESSAGE">%s</xliff:g>). Spróbujemy ponownie później."</string>
-    <string name="registration_status_invalid_credentials" msgid="8896714049938660777">"Rejestracja konta nie powiodła się: nieprawidłowa nazwa użytkownika lub hasło."</string>
-    <string name="registration_status_server_unreachable" msgid="3832339558868965604">"Rejestracja konta nie powiodła się: sprawdź nazwę serwera."</string>
-    <string name="third_party_account_summary" msgid="5918779106950859167">"To konto jest obecnie używane przez aplikację <xliff:g id="ACCOUNT_OWNER">%s</xliff:g>."</string>
-    <string name="sip_edit_title" msgid="7438891546610820307">"Dane konta SIP"</string>
-    <string name="sip_edit_new_title" msgid="8394790068979636381">"Dane konta SIP"</string>
-    <string name="domain_address_title" msgid="8238078615181248579">"Serwer"</string>
-    <string name="username_title" msgid="298416796886107970">"Nazwa użytkownika"</string>
-    <string name="password_title" msgid="8035579335591959021">"Hasło"</string>
-    <string name="display_name_title" msgid="3730105783656830160">"Wyświetlana nazwa"</string>
-    <string name="proxy_address_title" msgid="4120361943254795287">"Proxy połączeń wychodzących"</string>
-    <string name="port_title" msgid="1703586046264385110">"Numer portu"</string>
-    <string name="transport_title" msgid="1661659138226029178">"Protokół"</string>
-    <string name="send_keepalive_title" msgid="5319788151608946049">"Utrzymuj połączenie"</string>
-    <string name="advanced_settings" msgid="2704644977548662872">"Ustawienia opcjonalne"</string>
-    <string name="auth_username_title" msgid="9002505242616662698">"Nazwa do uwierzytelniania"</string>
-    <string name="auth_username_summary" msgid="6346313945275377230">"Nazwa użytkownika używana do uwierzytelniania"</string>
-    <string name="default_preference_summary_username" msgid="8788114717555599222">"&lt;Nie ustawiono&gt;"</string>
-    <string name="default_preference_summary_password" msgid="3695366978153175549">"&lt;Nie ustawiono&gt;"</string>
-    <string name="default_preference_summary_domain_address" msgid="443247296785732364">"&lt;Nie ustawiono&gt;"</string>
-    <string name="display_name_summary" msgid="6749135030093260358">"&lt;Taka sama jak nazwa użytkownika&gt;"</string>
-    <string name="optional_summary" msgid="620379377865437488">"&lt;Opcjonalny&gt;"</string>
-    <string name="advanced_settings_show" msgid="2318728080037568529">"▷ Dotknij, by wyświetlić wszystkie ustawienia"</string>
-    <string name="advanced_settings_hide" msgid="6200816937370652083">"▽ Dotknij, by ukryć wszystko"</string>
-    <string name="all_empty_alert" msgid="6085603517610199098">"Wpisz szczegóły nowego konta SIP"</string>
-    <string name="empty_alert" msgid="3693655518612836718">"Pole <xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> jest wymagane i nie może pozostać puste."</string>
-    <string name="not_a_valid_port" msgid="3664668836663491376">"Numer portu powinien mieć wartość od 1000 do 65 534."</string>
-    <string name="no_internet_available" msgid="161720645084325479">"Aby nawiązać połączenie SIP, najpierw sprawdź połączenie internetowe."</string>
-    <string name="no_wifi_available" msgid="1179092018692306312">"Połączenia SIP wymagają nawiązania połączenia z siecią Wi-Fi (użyj ustawień sieci zwykłych i bezprzewodowych)."</string>
-    <string name="no_voip" msgid="3366395789297981738">"Połączenia SIP nie są obsługiwane"</string>
-    <string name="sip_system_decide" msgid="197230378376326430">"Automatycznie"</string>
-    <string name="sip_always_send_keepalive" msgid="4986533673960084769">"Zawsze wysyłaj"</string>
-    <string name="sip_connection_service_label" msgid="8796284274240316006">"Wbudowanie połączenia SIP"</string>
-</resources>
diff --git a/sip/res/values-pt-rPT/strings.xml b/sip/res/values-pt-rPT/strings.xml
deleted file mode 100644
index 35aca3e..0000000
--- a/sip/res/values-pt-rPT/strings.xml
+++ /dev/null
@@ -1,80 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2014 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7452587325305604702">"Definições SIP"</string>
-    <string name="sip_accounts" msgid="7297896885665783239">"Contas SIP"</string>
-    <string name="sip_accounts_title" msgid="3061686404598143943">"Contas"</string>
-    <string name="sip_receive_calls" msgid="3403644006618369349">"Receber chamadas"</string>
-    <string name="sip_receive_calls_summary" msgid="5306603671778761443">"Utiliza mais bateria"</string>
-    <string name="sip_call_options_title" msgid="5027066677561068192">"Utilizar chamadas SIP"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6663105297927456484">"Utilizar chamadas SIP (apenas Wi-Fi)"</string>
-    <string name="sip_call_options_entry_1" msgid="4722647332760934261">"Para todas as chamadas quando a rede de dados estiver disponível"</string>
-    <string name="sip_call_options_entry_2" msgid="7338504256051655013">"Apenas para chamadas SIP"</string>
-    <string name="sip_call_options_wifi_only_entry_1" msgid="922329055414010991">"Para todas as chamadas"</string>
-    <string name="add_sip_account" msgid="5754758646745144384">"Adicionar conta"</string>
-    <string name="remove_sip_account" msgid="8272617403399636513">"Remover conta"</string>
-    <string name="sip_account_list" msgid="2596262496233721769">"Contas SIP"</string>
-    <string name="saving_account" msgid="3390358043846687266">"A guardar a conta..."</string>
-    <string name="removing_account" msgid="1544132880414780408">"A remover a conta..."</string>
-    <string name="sip_menu_save" msgid="4377112554203123060">"Guardar"</string>
-    <string name="sip_menu_discard" msgid="1883166691772895243">"Rejeitar"</string>
-    <string name="alert_dialog_close" msgid="1734746505531110706">"Fechar o perfil"</string>
-    <string name="alert_dialog_ok" msgid="7806760618798687406">"OK"</string>
-    <string name="close_profile" msgid="3756064641769751774">"Fechar"</string>
-    <string name="registration_status_checking_status" msgid="884179594507591180">"A verificar estado..."</string>
-    <string name="registration_status_registering" msgid="7986331597809521791">"A registar..."</string>
-    <string name="registration_status_still_trying" msgid="7178623685868766282">"Ainda a tentar..."</string>
-    <string name="registration_status_not_receiving" msgid="3873074208531938401">"Não está a receber chamadas."</string>
-    <string name="registration_status_no_data" msgid="2987064560116584121">"O registo da conta parou porque não existe ligação à Internet."</string>
-    <string name="registration_status_no_wifi_data" msgid="685470618241482948">"O registo da conta parou porque não existe ligação Wi-Fi."</string>
-    <string name="registration_status_not_running" msgid="6236403137652262659">"O registo da conta não teve êxito."</string>
-    <string name="registration_status_done" msgid="6787397199273357721">"A receber chamadas."</string>
-    <string name="registration_status_failed_try_later" msgid="7855389184910312091">"O registo da conta não teve êxito: (<xliff:g id="REGISTRATION_ERROR_MESSAGE">%s</xliff:g>); tentaremos mais tarde"</string>
-    <string name="registration_status_invalid_credentials" msgid="8896714049938660777">"O registo da conta não teve êxito: palavra-passe ou nome de utilizador incorreto"</string>
-    <string name="registration_status_server_unreachable" msgid="3832339558868965604">"O registo da conta não teve êxito: verifique o nome do servidor."</string>
-    <string name="third_party_account_summary" msgid="5918779106950859167">"Esta conta está atualmente a ser utilizada pela app <xliff:g id="ACCOUNT_OWNER">%s</xliff:g>."</string>
-    <string name="sip_edit_title" msgid="7438891546610820307">"Detalhes da conta SIP"</string>
-    <string name="sip_edit_new_title" msgid="8394790068979636381">"Detalhes da conta SIP"</string>
-    <string name="domain_address_title" msgid="8238078615181248579">"Servidor"</string>
-    <string name="username_title" msgid="298416796886107970">"Nome de utilizador"</string>
-    <string name="password_title" msgid="8035579335591959021">"Palavra-passe"</string>
-    <string name="display_name_title" msgid="3730105783656830160">"Nome a apresentar"</string>
-    <string name="proxy_address_title" msgid="4120361943254795287">"Endereço do proxy de saída"</string>
-    <string name="port_title" msgid="1703586046264385110">"Número da porta"</string>
-    <string name="transport_title" msgid="1661659138226029178">"Tipo de transporte"</string>
-    <string name="send_keepalive_title" msgid="5319788151608946049">"Enviar mensagem keep-alive"</string>
-    <string name="advanced_settings" msgid="2704644977548662872">"Definições opcionais"</string>
-    <string name="auth_username_title" msgid="9002505242616662698">"Nome de utilizador para autenticação"</string>
-    <string name="auth_username_summary" msgid="6346313945275377230">"Nome de utilizador usado para autenticação"</string>
-    <string name="default_preference_summary_username" msgid="8788114717555599222">"&lt;Não definido&gt;"</string>
-    <string name="default_preference_summary_password" msgid="3695366978153175549">"&lt;Não definido&gt;"</string>
-    <string name="default_preference_summary_domain_address" msgid="443247296785732364">"&lt;Não definido&gt;"</string>
-    <string name="display_name_summary" msgid="6749135030093260358">"&lt;Igual ao nome de utilizador&gt;"</string>
-    <string name="optional_summary" msgid="620379377865437488">"&lt;Opcional&gt;"</string>
-    <string name="advanced_settings_show" msgid="2318728080037568529">"▷ Toque para mostrar tudo"</string>
-    <string name="advanced_settings_hide" msgid="6200816937370652083">"▽ Toque para ocultar tudo"</string>
-    <string name="all_empty_alert" msgid="6085603517610199098">"Introduza os detalhes da nova conta SIP."</string>
-    <string name="empty_alert" msgid="3693655518612836718">"<xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> é obrigatório e tem de ser preenchido."</string>
-    <string name="not_a_valid_port" msgid="3664668836663491376">"O número da porta deve estar entre 1000 e 65534."</string>
-    <string name="no_internet_available" msgid="161720645084325479">"Para efetuar uma chamada SIP, verifique primeiro a ligação à Internet."</string>
-    <string name="no_wifi_available" msgid="1179092018692306312">"Precisa de uma ligação a uma rede Wi-Fi para efetuar chamadas SIP (utilize as definições Redes sem fios e outras)."</string>
-    <string name="no_voip" msgid="3366395789297981738">"Chamadas SIP não suportadas"</string>
-    <string name="sip_system_decide" msgid="197230378376326430">"Automático"</string>
-    <string name="sip_always_send_keepalive" msgid="4986533673960084769">"Enviar sempre"</string>
-    <string name="sip_connection_service_label" msgid="8796284274240316006">"Chamadas SIP incorporadas"</string>
-</resources>
diff --git a/sip/res/values-pt/strings.xml b/sip/res/values-pt/strings.xml
deleted file mode 100644
index dd0af58..0000000
--- a/sip/res/values-pt/strings.xml
+++ /dev/null
@@ -1,80 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2014 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7452587325305604702">"Configurações SIP"</string>
-    <string name="sip_accounts" msgid="7297896885665783239">"Contas SIP"</string>
-    <string name="sip_accounts_title" msgid="3061686404598143943">"Contas"</string>
-    <string name="sip_receive_calls" msgid="3403644006618369349">"Receber chamadas"</string>
-    <string name="sip_receive_calls_summary" msgid="5306603671778761443">"Usa mais carga de bateria"</string>
-    <string name="sip_call_options_title" msgid="5027066677561068192">"Usar chamadas SIP"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6663105297927456484">"Usar chamadas SIP (apenas Wi-Fi)"</string>
-    <string name="sip_call_options_entry_1" msgid="4722647332760934261">"Para todas as chamadas, quando a rede de dados estiver disponível"</string>
-    <string name="sip_call_options_entry_2" msgid="7338504256051655013">"Apenas para chamadas SIP"</string>
-    <string name="sip_call_options_wifi_only_entry_1" msgid="922329055414010991">"Para todas as chamadas"</string>
-    <string name="add_sip_account" msgid="5754758646745144384">"Adicionar conta"</string>
-    <string name="remove_sip_account" msgid="8272617403399636513">"Remover conta"</string>
-    <string name="sip_account_list" msgid="2596262496233721769">"Contas SIP"</string>
-    <string name="saving_account" msgid="3390358043846687266">"Salvando a conta..."</string>
-    <string name="removing_account" msgid="1544132880414780408">"Removendo a conta..."</string>
-    <string name="sip_menu_save" msgid="4377112554203123060">"Salvar"</string>
-    <string name="sip_menu_discard" msgid="1883166691772895243">"Descartar"</string>
-    <string name="alert_dialog_close" msgid="1734746505531110706">"Fechar o perfil"</string>
-    <string name="alert_dialog_ok" msgid="7806760618798687406">"Ok"</string>
-    <string name="close_profile" msgid="3756064641769751774">"Fechar"</string>
-    <string name="registration_status_checking_status" msgid="884179594507591180">"Verificando status..."</string>
-    <string name="registration_status_registering" msgid="7986331597809521791">"Registrando..."</string>
-    <string name="registration_status_still_trying" msgid="7178623685868766282">"Ainda tentando..."</string>
-    <string name="registration_status_not_receiving" msgid="3873074208531938401">"Não é possível receber chamadas."</string>
-    <string name="registration_status_no_data" msgid="2987064560116584121">"Registro da conta interrompido porque não há conexão à internet."</string>
-    <string name="registration_status_no_wifi_data" msgid="685470618241482948">"Registro da conta interrompido porque não há conexão Wi-Fi."</string>
-    <string name="registration_status_not_running" msgid="6236403137652262659">"Falha no registro da conta."</string>
-    <string name="registration_status_done" msgid="6787397199273357721">"É possível receber chamadas."</string>
-    <string name="registration_status_failed_try_later" msgid="7855389184910312091">"Falha no registro da conta: (<xliff:g id="REGISTRATION_ERROR_MESSAGE">%s</xliff:g>). Nova tentativa mais tarde"</string>
-    <string name="registration_status_invalid_credentials" msgid="8896714049938660777">"Falha no registro da conta: nome de usuário ou senha incorretos."</string>
-    <string name="registration_status_server_unreachable" msgid="3832339558868965604">"Falha no registro da conta: verifique o nome do servidor."</string>
-    <string name="third_party_account_summary" msgid="5918779106950859167">"No momento, esta conta é usada pelo app <xliff:g id="ACCOUNT_OWNER">%s</xliff:g>."</string>
-    <string name="sip_edit_title" msgid="7438891546610820307">"Detalhes da conta SIP"</string>
-    <string name="sip_edit_new_title" msgid="8394790068979636381">"Detalhes da conta SIP"</string>
-    <string name="domain_address_title" msgid="8238078615181248579">"Servidor"</string>
-    <string name="username_title" msgid="298416796886107970">"Nome de usuário"</string>
-    <string name="password_title" msgid="8035579335591959021">"Senha"</string>
-    <string name="display_name_title" msgid="3730105783656830160">"Nome de exibição"</string>
-    <string name="proxy_address_title" msgid="4120361943254795287">"Endereço de proxy de saída"</string>
-    <string name="port_title" msgid="1703586046264385110">"Número da porta"</string>
-    <string name="transport_title" msgid="1661659138226029178">"Tipo de transporte"</string>
-    <string name="send_keepalive_title" msgid="5319788151608946049">"Enviar sinal de atividade"</string>
-    <string name="advanced_settings" msgid="2704644977548662872">"Configurações opcionais"</string>
-    <string name="auth_username_title" msgid="9002505242616662698">"Nome de usuário para autenticação"</string>
-    <string name="auth_username_summary" msgid="6346313945275377230">"Nome de usuário utilizado para autenticação"</string>
-    <string name="default_preference_summary_username" msgid="8788114717555599222">"&lt;Não definido&gt;"</string>
-    <string name="default_preference_summary_password" msgid="3695366978153175549">"&lt;Não definida&gt;"</string>
-    <string name="default_preference_summary_domain_address" msgid="443247296785732364">"&lt;Não definido&gt;"</string>
-    <string name="display_name_summary" msgid="6749135030093260358">"&lt;Igual ao nome de usuário&gt;"</string>
-    <string name="optional_summary" msgid="620379377865437488">"&lt;Opcional&gt;"</string>
-    <string name="advanced_settings_show" msgid="2318728080037568529">"▷ Toque para mostrar todas"</string>
-    <string name="advanced_settings_hide" msgid="6200816937370652083">"▽ Toque para ocultar todas"</string>
-    <string name="all_empty_alert" msgid="6085603517610199098">"Digite os detalhes da nova conta SIP."</string>
-    <string name="empty_alert" msgid="3693655518612836718">"<xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> é um campo obrigatório e não pode ser deixado em branco."</string>
-    <string name="not_a_valid_port" msgid="3664668836663491376">"O número da porta deve estar entre 1000 e 65534."</string>
-    <string name="no_internet_available" msgid="161720645084325479">"Para fazer uma chamada SIP, verifique sua conexão com a Internet primeiro."</string>
-    <string name="no_wifi_available" msgid="1179092018692306312">"Você precisa estar conectado a uma rede Wi-Fi para chamadas SIP (use as configurações sem fio e de rede)."</string>
-    <string name="no_voip" msgid="3366395789297981738">"Chamada SIP não suportada"</string>
-    <string name="sip_system_decide" msgid="197230378376326430">"Automático"</string>
-    <string name="sip_always_send_keepalive" msgid="4986533673960084769">"Sempre enviar"</string>
-    <string name="sip_connection_service_label" msgid="8796284274240316006">"Chamadas SIP incorporadas"</string>
-</resources>
diff --git a/sip/res/values-ro/strings.xml b/sip/res/values-ro/strings.xml
deleted file mode 100644
index cbbc084..0000000
--- a/sip/res/values-ro/strings.xml
+++ /dev/null
@@ -1,80 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2014 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7452587325305604702">"Setări SIP"</string>
-    <string name="sip_accounts" msgid="7297896885665783239">"Conturi SIP"</string>
-    <string name="sip_accounts_title" msgid="3061686404598143943">"Conturi"</string>
-    <string name="sip_receive_calls" msgid="3403644006618369349">"Primiți apeluri"</string>
-    <string name="sip_receive_calls_summary" msgid="5306603671778761443">"Consumă mai multă baterie"</string>
-    <string name="sip_call_options_title" msgid="5027066677561068192">"Folosiți apelarea SIP"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6663105297927456484">"Folosiți apelarea SIP (numai prin Wi-Fi)"</string>
-    <string name="sip_call_options_entry_1" msgid="4722647332760934261">"Pentru toate apelurile, când rețeaua de date este disponibilă"</string>
-    <string name="sip_call_options_entry_2" msgid="7338504256051655013">"Numai pentru apeluri SIP"</string>
-    <string name="sip_call_options_wifi_only_entry_1" msgid="922329055414010991">"Pentru toate apelurile"</string>
-    <string name="add_sip_account" msgid="5754758646745144384">"Adăugați un cont"</string>
-    <string name="remove_sip_account" msgid="8272617403399636513">"Eliminați contul"</string>
-    <string name="sip_account_list" msgid="2596262496233721769">"Conturi SIP"</string>
-    <string name="saving_account" msgid="3390358043846687266">"Se salvează contul..."</string>
-    <string name="removing_account" msgid="1544132880414780408">"Se elimină contul..."</string>
-    <string name="sip_menu_save" msgid="4377112554203123060">"Salvați"</string>
-    <string name="sip_menu_discard" msgid="1883166691772895243">"Renunțați"</string>
-    <string name="alert_dialog_close" msgid="1734746505531110706">"Închideți profilul"</string>
-    <string name="alert_dialog_ok" msgid="7806760618798687406">"OK"</string>
-    <string name="close_profile" msgid="3756064641769751774">"Închideți"</string>
-    <string name="registration_status_checking_status" msgid="884179594507591180">"Se verifică starea..."</string>
-    <string name="registration_status_registering" msgid="7986331597809521791">"Se înregistrează..."</string>
-    <string name="registration_status_still_trying" msgid="7178623685868766282">"Se încearcă în continuare..."</string>
-    <string name="registration_status_not_receiving" msgid="3873074208531938401">"Nu se primesc apeluri."</string>
-    <string name="registration_status_no_data" msgid="2987064560116584121">"Înregistrarea contului s-a oprit deoarece nu există conexiune la internet."</string>
-    <string name="registration_status_no_wifi_data" msgid="685470618241482948">"Înregistrarea contului s-a oprit deoarece nu există conexiune Wi-Fi."</string>
-    <string name="registration_status_not_running" msgid="6236403137652262659">"Înregistrarea contului nu a reușit."</string>
-    <string name="registration_status_done" msgid="6787397199273357721">"Se primesc apeluri."</string>
-    <string name="registration_status_failed_try_later" msgid="7855389184910312091">"Înregistrarea contului nu a reușit: (<xliff:g id="REGISTRATION_ERROR_MESSAGE">%s</xliff:g>); se va încerca mai târziu"</string>
-    <string name="registration_status_invalid_credentials" msgid="8896714049938660777">"Înregistrarea contului nu a reușit: nume de utilizator sau parolă incorectă."</string>
-    <string name="registration_status_server_unreachable" msgid="3832339558868965604">"Înregistrarea contului nu a reușit: verificați numele serverului."</string>
-    <string name="third_party_account_summary" msgid="5918779106950859167">"Acest cont este utilizat în prezent de aplicația <xliff:g id="ACCOUNT_OWNER">%s</xliff:g>."</string>
-    <string name="sip_edit_title" msgid="7438891546610820307">"Detalii cont SIP"</string>
-    <string name="sip_edit_new_title" msgid="8394790068979636381">"Detalii cont SIP"</string>
-    <string name="domain_address_title" msgid="8238078615181248579">"Server"</string>
-    <string name="username_title" msgid="298416796886107970">"Nume de utilizator"</string>
-    <string name="password_title" msgid="8035579335591959021">"Parolă"</string>
-    <string name="display_name_title" msgid="3730105783656830160">"Numele afișat"</string>
-    <string name="proxy_address_title" msgid="4120361943254795287">"Adresă proxy de ieșire"</string>
-    <string name="port_title" msgid="1703586046264385110">"Numărul portului"</string>
-    <string name="transport_title" msgid="1661659138226029178">"Tip de transport"</string>
-    <string name="send_keepalive_title" msgid="5319788151608946049">"Trimite keep-alive"</string>
-    <string name="advanced_settings" msgid="2704644977548662872">"Setări opționale"</string>
-    <string name="auth_username_title" msgid="9002505242616662698">"Nume de utilizator pentru autentificare"</string>
-    <string name="auth_username_summary" msgid="6346313945275377230">"Numele de utilizator folosit pentru autentificare"</string>
-    <string name="default_preference_summary_username" msgid="8788114717555599222">"&lt;Nesetat&gt;"</string>
-    <string name="default_preference_summary_password" msgid="3695366978153175549">"&lt;Nesetat&gt;"</string>
-    <string name="default_preference_summary_domain_address" msgid="443247296785732364">"&lt;Nesetat&gt;"</string>
-    <string name="display_name_summary" msgid="6749135030093260358">"&lt;Identic cu numele de utilizator&gt;"</string>
-    <string name="optional_summary" msgid="620379377865437488">"&lt;Opțional&gt;"</string>
-    <string name="advanced_settings_show" msgid="2318728080037568529">"▷ Atingeți pentru a afișa tot"</string>
-    <string name="advanced_settings_hide" msgid="6200816937370652083">"▽ Atingeți pentru a ascunde tot"</string>
-    <string name="all_empty_alert" msgid="6085603517610199098">"Introduceți detaliile noului cont SIP."</string>
-    <string name="empty_alert" msgid="3693655518612836718">"Câmpul <xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> este obligatoriu și nu poate fi lăsat necompletat."</string>
-    <string name="not_a_valid_port" msgid="3664668836663491376">"Numărul portului trebuie să fie cuprins între 1000 și 65534."</string>
-    <string name="no_internet_available" msgid="161720645084325479">"Pentru a efectua un apel SIP, mai întâi verificați conexiunea la internet."</string>
-    <string name="no_wifi_available" msgid="1179092018692306312">"Pentru apeluri SIP trebuie să fiți conectat(ă) la o rețea Wi-Fi (folosiți setările din Wireless și rețea)."</string>
-    <string name="no_voip" msgid="3366395789297981738">"Apelarea SIP nu este acceptată"</string>
-    <string name="sip_system_decide" msgid="197230378376326430">"Automat"</string>
-    <string name="sip_always_send_keepalive" msgid="4986533673960084769">"Se trimite întotdeauna"</string>
-    <string name="sip_connection_service_label" msgid="8796284274240316006">"Apelare SIP integrată"</string>
-</resources>
diff --git a/sip/res/values-ru/strings.xml b/sip/res/values-ru/strings.xml
deleted file mode 100644
index 4d6423c..0000000
--- a/sip/res/values-ru/strings.xml
+++ /dev/null
@@ -1,80 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2014 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7452587325305604702">"Настройки SIP"</string>
-    <string name="sip_accounts" msgid="7297896885665783239">"SIP-аккаунты"</string>
-    <string name="sip_accounts_title" msgid="3061686404598143943">"Аккаунты"</string>
-    <string name="sip_receive_calls" msgid="3403644006618369349">"Принимать входящие"</string>
-    <string name="sip_receive_calls_summary" msgid="5306603671778761443">"Заряд батареи расходуется быстрее"</string>
-    <string name="sip_call_options_title" msgid="5027066677561068192">"Звонок через SIP"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6663105297927456484">"Звонок через SIP (только Wi-Fi)"</string>
-    <string name="sip_call_options_entry_1" msgid="4722647332760934261">"Для всех вызовов при возможности передачи данных"</string>
-    <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="sip_account_list" msgid="2596262496233721769">"SIP-аккаунты"</string>
-    <string name="saving_account" msgid="3390358043846687266">"Сохранение…"</string>
-    <string name="removing_account" msgid="1544132880414780408">"Удаление аккаунта..."</string>
-    <string name="sip_menu_save" msgid="4377112554203123060">"Сохранить"</string>
-    <string name="sip_menu_discard" msgid="1883166691772895243">"Отменить"</string>
-    <string name="alert_dialog_close" msgid="1734746505531110706">"Закрытие профиля"</string>
-    <string name="alert_dialog_ok" msgid="7806760618798687406">"ОК"</string>
-    <string name="close_profile" msgid="3756064641769751774">"Закрыть"</string>
-    <string name="registration_status_checking_status" msgid="884179594507591180">"Проверка состояния..."</string>
-    <string name="registration_status_registering" msgid="7986331597809521791">"Регистрация..."</string>
-    <string name="registration_status_still_trying" msgid="7178623685868766282">"Подождите..."</string>
-    <string name="registration_status_not_receiving" msgid="3873074208531938401">"Вызовы не принимаются."</string>
-    <string name="registration_status_no_data" msgid="2987064560116584121">"Регистрация аккаунта прервана – отсутствует подключение к Интернету."</string>
-    <string name="registration_status_no_wifi_data" msgid="685470618241482948">"Регистрация прервана. Отсутствует подключение к сети Wi-Fi"</string>
-    <string name="registration_status_not_running" msgid="6236403137652262659">"Не удалось зарегистрировать аккаунт."</string>
-    <string name="registration_status_done" msgid="6787397199273357721">"Вызовы принимаются."</string>
-    <string name="registration_status_failed_try_later" msgid="7855389184910312091">"Не удалось зарегистрировать аккаунт (<xliff:g id="REGISTRATION_ERROR_MESSAGE">%s</xliff:g>). Новая попытка будет предпринята позже."</string>
-    <string name="registration_status_invalid_credentials" msgid="8896714049938660777">"Не удалось зарегистрировать аккаунт. Неверное имя пользователя или пароль."</string>
-    <string name="registration_status_server_unreachable" msgid="3832339558868965604">"Не удалось зарегистрировать аккаунт. Неверное имя сервера."</string>
-    <string name="third_party_account_summary" msgid="5918779106950859167">"Аккаунт используется приложением \"<xliff:g id="ACCOUNT_OWNER">%s</xliff:g>\"."</string>
-    <string name="sip_edit_title" msgid="7438891546610820307">"SIP-аккаунт"</string>
-    <string name="sip_edit_new_title" msgid="8394790068979636381">"SIP-аккаунт"</string>
-    <string name="domain_address_title" msgid="8238078615181248579">"Сервер"</string>
-    <string name="username_title" msgid="298416796886107970">"Имя пользователя"</string>
-    <string name="password_title" msgid="8035579335591959021">"Пароль"</string>
-    <string name="display_name_title" msgid="3730105783656830160">"Отображаемое имя"</string>
-    <string name="proxy_address_title" msgid="4120361943254795287">"Адрес прокси-сервера"</string>
-    <string name="port_title" msgid="1703586046264385110">"Номер порта"</string>
-    <string name="transport_title" msgid="1661659138226029178">"Протокол"</string>
-    <string name="send_keepalive_title" msgid="5319788151608946049">"Отправлять keep-alive"</string>
-    <string name="advanced_settings" msgid="2704644977548662872">"Расширенные настройки"</string>
-    <string name="auth_username_title" msgid="9002505242616662698">"Имя пользователя"</string>
-    <string name="auth_username_summary" msgid="6346313945275377230">"Имя пользователя для аутентификации"</string>
-    <string name="default_preference_summary_username" msgid="8788114717555599222">"&lt;Не задано&gt;"</string>
-    <string name="default_preference_summary_password" msgid="3695366978153175549">"&lt;Не задано&gt;"</string>
-    <string name="default_preference_summary_domain_address" msgid="443247296785732364">"&lt;Не задано&gt;"</string>
-    <string name="display_name_summary" msgid="6749135030093260358">"&lt;Совпадает с именем пользователя&gt;"</string>
-    <string name="optional_summary" msgid="620379377865437488">"&lt;Необязательно&gt;"</string>
-    <string name="advanced_settings_show" msgid="2318728080037568529">"▷ Нажмите, чтобы показать все"</string>
-    <string name="advanced_settings_hide" msgid="6200816937370652083">"▽ Нажмите, чтобы скрыть все"</string>
-    <string name="all_empty_alert" msgid="6085603517610199098">"Укажите параметры нового SIP-аккаунта."</string>
-    <string name="empty_alert" msgid="3693655518612836718">"Поле \"<xliff:g id="INPUT_FIELD_NAME">%s</xliff:g>\" должно быть заполнено."</string>
-    <string name="not_a_valid_port" msgid="3664668836663491376">"Номер порта должен быть от 1000 до 65534."</string>
-    <string name="no_internet_available" msgid="161720645084325479">"Чтобы сделать звонок через SIP, проверьте подключение к Интернету."</string>
-    <string name="no_wifi_available" msgid="1179092018692306312">"Чтобы звонить через SIP, требуется подключение к сети Wi-Fi (его можно настроить в разделе \"Беспроводные сети\")."</string>
-    <string name="no_voip" msgid="3366395789297981738">"Звонки через SIP не поддерживаются"</string>
-    <string name="sip_system_decide" msgid="197230378376326430">"Автоматически"</string>
-    <string name="sip_always_send_keepalive" msgid="4986533673960084769">"Отправлять всегда"</string>
-    <string name="sip_connection_service_label" msgid="8796284274240316006">"Встроенный сервис звонков через SIP"</string>
-</resources>
diff --git a/sip/res/values-si/strings.xml b/sip/res/values-si/strings.xml
deleted file mode 100644
index 437b053..0000000
--- a/sip/res/values-si/strings.xml
+++ /dev/null
@@ -1,80 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2014 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7452587325305604702">"SIP සැකසීම්"</string>
-    <string name="sip_accounts" msgid="7297896885665783239">"SIP ගිණුම්"</string>
-    <string name="sip_accounts_title" msgid="3061686404598143943">"ගිණුම්"</string>
-    <string name="sip_receive_calls" msgid="3403644006618369349">"ලේබන ඇමතුම් ලබා ගන්න"</string>
-    <string name="sip_receive_calls_summary" msgid="5306603671778761443">"තව බැටරි ආයු කාලය භාවිතා කරන්න"</string>
-    <string name="sip_call_options_title" msgid="5027066677561068192">"SIP ඇමතුම් භාවිතය"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6663105297927456484">"SIP ඇමතුම් භාවිතය (Wi-Fi පමණයි)"</string>
-    <string name="sip_call_options_entry_1" msgid="4722647332760934261">"දත්ත ජාලය තිබෙන විට සියලුම ඇමතුම් සඳහා"</string>
-    <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="sip_account_list" msgid="2596262496233721769">"SIP ගිණුම්"</string>
-    <string name="saving_account" msgid="3390358043846687266">"ගිණුම සුරකිමින්..."</string>
-    <string name="removing_account" msgid="1544132880414780408">"ගිණුම ඉවත් කරමින්…"</string>
-    <string name="sip_menu_save" msgid="4377112554203123060">"සුරකින්න"</string>
-    <string name="sip_menu_discard" msgid="1883166691772895243">"ඉවතලන්න"</string>
-    <string name="alert_dialog_close" msgid="1734746505531110706">"පැතිකඩ වසන්න"</string>
-    <string name="alert_dialog_ok" msgid="7806760618798687406">"හරි"</string>
-    <string name="close_profile" msgid="3756064641769751774">"වසන්න"</string>
-    <string name="registration_status_checking_status" msgid="884179594507591180">"තත්වය පිරික්සමින්..."</string>
-    <string name="registration_status_registering" msgid="7986331597809521791">"ලියාපදිංචි වෙමින්..."</string>
-    <string name="registration_status_still_trying" msgid="7178623685868766282">"තවමත් උත්සාහ කරමින්..."</string>
-    <string name="registration_status_not_receiving" msgid="3873074208531938401">"ලැබෙන ඇමතුම් නොවේ."</string>
-    <string name="registration_status_no_data" msgid="2987064560116584121">"අන්තර්ජාල සම්බන්ධතාවක් නොමැතී බැවින් ගිණුම් ලියාපදිංචිය නතර විය."</string>
-    <string name="registration_status_no_wifi_data" msgid="685470618241482948">"Wi-Fi සම්බන්ධතාවයක් නොමැති බැවින් ගිණුම් ලියාපදිංචි කිරීම නැවතිණි."</string>
-    <string name="registration_status_not_running" msgid="6236403137652262659">"ගිණුම් ලියාපදිංචිය අසාර්ථකයි."</string>
-    <string name="registration_status_done" msgid="6787397199273357721">"ඇමතුම් ලබමින්."</string>
-    <string name="registration_status_failed_try_later" msgid="7855389184910312091">"ගිණුම් ලියාපදිංචිය අසාර්ථක විය: (<xliff:g id="REGISTRATION_ERROR_MESSAGE">%s</xliff:g>); පසුව යළි උත්සාහ කරන්නම්"</string>
-    <string name="registration_status_invalid_credentials" msgid="8896714049938660777">"ගිණුම ලියාපදිංචි කිරීම අසාර්ථකයි: වැරදි පරිශීලක නාමයක් හෝ මුරපදයකි"</string>
-    <string name="registration_status_server_unreachable" msgid="3832339558868965604">"ගිණුම් ලියාපදිංචිය අසාර්ථකයි: සේවාදායකයේ නම පරික්ෂා කර බලන්න."</string>
-    <string name="third_party_account_summary" msgid="5918779106950859167">"මෙම ගිණුම දැනට <xliff:g id="ACCOUNT_OWNER">%s</xliff:g> යෙදුම විසින් භාවිතා කරයි."</string>
-    <string name="sip_edit_title" msgid="7438891546610820307">"SIP ගිණුමේ විස්තර"</string>
-    <string name="sip_edit_new_title" msgid="8394790068979636381">"SIP ගිණුමේ විස්තර"</string>
-    <string name="domain_address_title" msgid="8238078615181248579">"සේවාදායකය"</string>
-    <string name="username_title" msgid="298416796886107970">"පරිශීලක නාමය"</string>
-    <string name="password_title" msgid="8035579335591959021">"මුරපදය"</string>
-    <string name="display_name_title" msgid="3730105783656830160">"දර්ශනය කරන නම"</string>
-    <string name="proxy_address_title" msgid="4120361943254795287">"පිටතට යන ප්‍රොක්සි ලිපිනය"</string>
-    <string name="port_title" msgid="1703586046264385110">"කවුළුවේ අංකය"</string>
-    <string name="transport_title" msgid="1661659138226029178">"ගමනාගමන වර්ගය"</string>
-    <string name="send_keepalive_title" msgid="5319788151608946049">"සජීවී-තබාගන්නා යවන්න"</string>
-    <string name="advanced_settings" msgid="2704644977548662872">"වෛකල්පිත සැකසුම්"</string>
-    <string name="auth_username_title" msgid="9002505242616662698">"සත්‍යාපන පරිශීලක නාමය"</string>
-    <string name="auth_username_summary" msgid="6346313945275377230">"සත්‍යාපනය සඳහා භාවිතා වන පරිශීලක නාමය"</string>
-    <string name="default_preference_summary_username" msgid="8788114717555599222">"&lt;පිහිටුවා නැත&gt;"</string>
-    <string name="default_preference_summary_password" msgid="3695366978153175549">"&lt;පිහිටුවා නැත&gt;"</string>
-    <string name="default_preference_summary_domain_address" msgid="443247296785732364">"&lt;පිහිටුවා නැත&gt;"</string>
-    <string name="display_name_summary" msgid="6749135030093260358">"&lt;පරිශීලක නාමය වාගේම&gt;"</string>
-    <string name="optional_summary" msgid="620379377865437488">"&lt;වෛකල්පිත&gt;"</string>
-    <string name="advanced_settings_show" msgid="2318728080037568529">"▷ සියල්ල පෙන්වීමට ස්පර්ශ කරන්න"</string>
-    <string name="advanced_settings_hide" msgid="6200816937370652083">"▽ සියල්ල සැඟවීමට ස්පර්ශ කරන්න"</string>
-    <string name="all_empty_alert" msgid="6085603517610199098">"අලුත් SIP ගිණුමේ විස්තර ඇතුළත් කරන්න."</string>
-    <string name="empty_alert" msgid="3693655518612836718">"<xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> අවශ්‍ය වන අතර හිස්ව තැබිය නොහැක."</string>
-    <string name="not_a_valid_port" msgid="3664668836663491376">"කවුළුවේ අංකය 1000 ත් 65534 ත් අතර විය යුතුය."</string>
-    <string name="no_internet_available" msgid="161720645084325479">"SIP ඇමතුමක් ලබාගැනීමට, ඔබගේ අන්තර්ජාල සම්බන්ධතාව මුලින් පරික්ෂා කරන්න."</string>
-    <string name="no_wifi_available" msgid="1179092018692306312">"SIP ඇමතුම් සඳහා Wi-Fi ජාලයට ඔබට සම්බන්ධ වීමට අවශ්‍යය වේ (රැහැන් රහිත සහ ජාල සැකසීම්)."</string>
-    <string name="no_voip" msgid="3366395789297981738">"SIP ඇමතීම් වලට සහාය දක්වන්නේ නැත"</string>
-    <string name="sip_system_decide" msgid="197230378376326430">"ස්වයංක්‍රිය"</string>
-    <string name="sip_always_send_keepalive" msgid="4986533673960084769">"සැමවිටම යවන්න"</string>
-    <string name="sip_connection_service_label" msgid="8796284274240316006">"තැනූ SIP ඇමතුම්"</string>
-</resources>
diff --git a/sip/res/values-sk/strings.xml b/sip/res/values-sk/strings.xml
deleted file mode 100644
index d2a20fa..0000000
--- a/sip/res/values-sk/strings.xml
+++ /dev/null
@@ -1,80 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2014 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7452587325305604702">"Nastavenia SIP"</string>
-    <string name="sip_accounts" msgid="7297896885665783239">"Účty SIP"</string>
-    <string name="sip_accounts_title" msgid="3061686404598143943">"Účty"</string>
-    <string name="sip_receive_calls" msgid="3403644006618369349">"Prijímať prichádzajúce hovory"</string>
-    <string name="sip_receive_calls_summary" msgid="5306603671778761443">"Viac vybíja batériu"</string>
-    <string name="sip_call_options_title" msgid="5027066677561068192">"Používanie volania SIP"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6663105297927456484">"Používanie volania SIP (iba Wi‑Fi)"</string>
-    <string name="sip_call_options_entry_1" msgid="4722647332760934261">"Pre všetky hovory, pokiaľ je k dispozícii dátová sieť"</string>
-    <string name="sip_call_options_entry_2" msgid="7338504256051655013">"Iba pre hovory SIP"</string>
-    <string name="sip_call_options_wifi_only_entry_1" msgid="922329055414010991">"Pre všetky hovory"</string>
-    <string name="add_sip_account" msgid="5754758646745144384">"Pridať účet"</string>
-    <string name="remove_sip_account" msgid="8272617403399636513">"Odstrániť účet"</string>
-    <string name="sip_account_list" msgid="2596262496233721769">"Účty SIP"</string>
-    <string name="saving_account" msgid="3390358043846687266">"Prebieha ukladanie účtu..."</string>
-    <string name="removing_account" msgid="1544132880414780408">"Prebieha odstraňovanie účtu..."</string>
-    <string name="sip_menu_save" msgid="4377112554203123060">"Uložiť"</string>
-    <string name="sip_menu_discard" msgid="1883166691772895243">"Zahodiť"</string>
-    <string name="alert_dialog_close" msgid="1734746505531110706">"Zavrieť profil"</string>
-    <string name="alert_dialog_ok" msgid="7806760618798687406">"OK"</string>
-    <string name="close_profile" msgid="3756064641769751774">"Zavrieť"</string>
-    <string name="registration_status_checking_status" msgid="884179594507591180">"Prebieha kontrola stavu..."</string>
-    <string name="registration_status_registering" msgid="7986331597809521791">"Prebieha registrácia..."</string>
-    <string name="registration_status_still_trying" msgid="7178623685868766282">"Prebiehajú ďalšie pokusy..."</string>
-    <string name="registration_status_not_receiving" msgid="3873074208531938401">"Hovory sa neprijímajú."</string>
-    <string name="registration_status_no_data" msgid="2987064560116584121">"Registrácia účtu bola zastavená, pretože pripojenie k internetu nie je k dispozícii."</string>
-    <string name="registration_status_no_wifi_data" msgid="685470618241482948">"Registrácia účtu bola zastavená, pretože pripojenie Wi‑Fi nie je k dispozícii."</string>
-    <string name="registration_status_not_running" msgid="6236403137652262659">"Registrácia účtu nebola úspešná."</string>
-    <string name="registration_status_done" msgid="6787397199273357721">"Príjem hovorov."</string>
-    <string name="registration_status_failed_try_later" msgid="7855389184910312091">"Registrácia účtu nebola úspešná: (<xliff:g id="REGISTRATION_ERROR_MESSAGE">%s</xliff:g>); skúsime to neskôr"</string>
-    <string name="registration_status_invalid_credentials" msgid="8896714049938660777">"Registrácia účtu nebola úspešná: nesprávne používateľské meno alebo heslo."</string>
-    <string name="registration_status_server_unreachable" msgid="3832339558868965604">"Registrácia účtu nebola úspešná: skontrolujte názov servera."</string>
-    <string name="third_party_account_summary" msgid="5918779106950859167">"Tento účet momentálne používa aplikácia používateľa <xliff:g id="ACCOUNT_OWNER">%s</xliff:g>."</string>
-    <string name="sip_edit_title" msgid="7438891546610820307">"Účet SIP"</string>
-    <string name="sip_edit_new_title" msgid="8394790068979636381">"Účet SIP"</string>
-    <string name="domain_address_title" msgid="8238078615181248579">"Server"</string>
-    <string name="username_title" msgid="298416796886107970">"Používateľské meno"</string>
-    <string name="password_title" msgid="8035579335591959021">"Heslo"</string>
-    <string name="display_name_title" msgid="3730105783656830160">"Zobrazované meno"</string>
-    <string name="proxy_address_title" msgid="4120361943254795287">"Adresa výstupného proxy servera"</string>
-    <string name="port_title" msgid="1703586046264385110">"Číslo portu"</string>
-    <string name="transport_title" msgid="1661659138226029178">"Typ prenosu"</string>
-    <string name="send_keepalive_title" msgid="5319788151608946049">"Správy na zachovanie pripojenia"</string>
-    <string name="advanced_settings" msgid="2704644977548662872">"Voliteľné nastavenia"</string>
-    <string name="auth_username_title" msgid="9002505242616662698">"Používateľské meno na overenie"</string>
-    <string name="auth_username_summary" msgid="6346313945275377230">"Používateľské meno použité na overenie"</string>
-    <string name="default_preference_summary_username" msgid="8788114717555599222">"&lt;Nenastavené&gt;"</string>
-    <string name="default_preference_summary_password" msgid="3695366978153175549">"&lt;Nenastavené&gt;"</string>
-    <string name="default_preference_summary_domain_address" msgid="443247296785732364">"&lt;Nenastavené&gt;"</string>
-    <string name="display_name_summary" msgid="6749135030093260358">"&lt;Rovnaké ako používateľské meno&gt;"</string>
-    <string name="optional_summary" msgid="620379377865437488">"&lt;Voliteľné&gt;"</string>
-    <string name="advanced_settings_show" msgid="2318728080037568529">"▷ Klepnutím zobrazíte všetky"</string>
-    <string name="advanced_settings_hide" msgid="6200816937370652083">"▽ Klepnutím všetko skryjete"</string>
-    <string name="all_empty_alert" msgid="6085603517610199098">"Zadajte informácie o novom účte SIP."</string>
-    <string name="empty_alert" msgid="3693655518612836718">"Pole <xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> je povinné a nemôže zostať prázdne."</string>
-    <string name="not_a_valid_port" msgid="3664668836663491376">"Číslo portu by malo byť od 1 000 do 65 534."</string>
-    <string name="no_internet_available" msgid="161720645084325479">"Ak chcete uskutočniť hovor SIP, najprv skontrolujte svoje internetové pripojenie."</string>
-    <string name="no_wifi_available" msgid="1179092018692306312">"Uskutočnenie hovorov SIP vyžaduje pripojenie k sieti Wi‑Fi (použite nastavenia bezdrôtovej siete)."</string>
-    <string name="no_voip" msgid="3366395789297981738">"Volanie SIP nie je podporované"</string>
-    <string name="sip_system_decide" msgid="197230378376326430">"Automaticky"</string>
-    <string name="sip_always_send_keepalive" msgid="4986533673960084769">"Vždy odoslať"</string>
-    <string name="sip_connection_service_label" msgid="8796284274240316006">"Vstavané hovory SIP"</string>
-</resources>
diff --git a/sip/res/values-sl/strings.xml b/sip/res/values-sl/strings.xml
deleted file mode 100644
index 0d53703..0000000
--- a/sip/res/values-sl/strings.xml
+++ /dev/null
@@ -1,80 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2014 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7452587325305604702">"Nastavitve SIP"</string>
-    <string name="sip_accounts" msgid="7297896885665783239">"Računi SIP"</string>
-    <string name="sip_accounts_title" msgid="3061686404598143943">"Računi"</string>
-    <string name="sip_receive_calls" msgid="3403644006618369349">"Sprejmi dohodne klice"</string>
-    <string name="sip_receive_calls_summary" msgid="5306603671778761443">"Poraba akumulatorja je večja"</string>
-    <string name="sip_call_options_title" msgid="5027066677561068192">"Uporaba klicanja SIP"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6663105297927456484">"Uporaba klicanja SIP (samo v omrežju Wi-Fi)"</string>
-    <string name="sip_call_options_entry_1" msgid="4722647332760934261">"Za vse klice, ko podatkovno omrežje ni na voljo"</string>
-    <string name="sip_call_options_entry_2" msgid="7338504256051655013">"Samo za klice SIP"</string>
-    <string name="sip_call_options_wifi_only_entry_1" msgid="922329055414010991">"Za vse klice"</string>
-    <string name="add_sip_account" msgid="5754758646745144384">"Dodajanje računa"</string>
-    <string name="remove_sip_account" msgid="8272617403399636513">"Odstrani račun"</string>
-    <string name="sip_account_list" msgid="2596262496233721769">"Računi SIP"</string>
-    <string name="saving_account" msgid="3390358043846687266">"Shranjevanje računa ..."</string>
-    <string name="removing_account" msgid="1544132880414780408">"Odstranjevanje računa ..."</string>
-    <string name="sip_menu_save" msgid="4377112554203123060">"Shrani"</string>
-    <string name="sip_menu_discard" msgid="1883166691772895243">"Zavrzi"</string>
-    <string name="alert_dialog_close" msgid="1734746505531110706">"Zapiranje profila"</string>
-    <string name="alert_dialog_ok" msgid="7806760618798687406">"V redu"</string>
-    <string name="close_profile" msgid="3756064641769751774">"Zapri"</string>
-    <string name="registration_status_checking_status" msgid="884179594507591180">"Preverjanje stanja ..."</string>
-    <string name="registration_status_registering" msgid="7986331597809521791">"Registriranje ..."</string>
-    <string name="registration_status_still_trying" msgid="7178623685868766282">"Še vedno poskušamo ..."</string>
-    <string name="registration_status_not_receiving" msgid="3873074208531938401">"Ne sprejema klicev."</string>
-    <string name="registration_status_no_data" msgid="2987064560116584121">"Registracija računa je bila prekinjena, ker ni internetne povezave."</string>
-    <string name="registration_status_no_wifi_data" msgid="685470618241482948">"Registracija računa je bila prekinjena, ker ni povezave Wi-Fi."</string>
-    <string name="registration_status_not_running" msgid="6236403137652262659">"Registracija računa ni uspela."</string>
-    <string name="registration_status_done" msgid="6787397199273357721">"Sprejemanje klicev."</string>
-    <string name="registration_status_failed_try_later" msgid="7855389184910312091">"Registracija računa ni uspela: (<xliff:g id="REGISTRATION_ERROR_MESSAGE">%s</xliff:g>). Pozneje sledi vnovičen poskus."</string>
-    <string name="registration_status_invalid_credentials" msgid="8896714049938660777">"Registracija računa ni uspela: napačno uporabniško ime ali geslo."</string>
-    <string name="registration_status_server_unreachable" msgid="3832339558868965604">"Registracija računa ni uspela: preverite ime strežnika."</string>
-    <string name="third_party_account_summary" msgid="5918779106950859167">"Ta račun trenutno uporablja aplikacija <xliff:g id="ACCOUNT_OWNER">%s</xliff:g>."</string>
-    <string name="sip_edit_title" msgid="7438891546610820307">"Podrobnosti o računu SIP"</string>
-    <string name="sip_edit_new_title" msgid="8394790068979636381">"Podrobnosti o računu SIP"</string>
-    <string name="domain_address_title" msgid="8238078615181248579">"Strežnik"</string>
-    <string name="username_title" msgid="298416796886107970">"Uporabniško ime"</string>
-    <string name="password_title" msgid="8035579335591959021">"Geslo"</string>
-    <string name="display_name_title" msgid="3730105783656830160">"Prikazno ime"</string>
-    <string name="proxy_address_title" msgid="4120361943254795287">"Naslov strežnika proxy za odhodne klice"</string>
-    <string name="port_title" msgid="1703586046264385110">"Številka vrat"</string>
-    <string name="transport_title" msgid="1661659138226029178">"Vrsta transporta"</string>
-    <string name="send_keepalive_title" msgid="5319788151608946049">"Pošlji sporočilo za ohranjanje povezave"</string>
-    <string name="advanced_settings" msgid="2704644977548662872">"Izbirne nastavitve"</string>
-    <string name="auth_username_title" msgid="9002505242616662698">"Uporabniško ime za preverjanje pristnosti"</string>
-    <string name="auth_username_summary" msgid="6346313945275377230">"Uporabniško ime, uporabljeno za preverjanje pristnosti"</string>
-    <string name="default_preference_summary_username" msgid="8788114717555599222">"&lt;Ni nastavljeno&gt;"</string>
-    <string name="default_preference_summary_password" msgid="3695366978153175549">"&lt;Ni nastavljeno&gt;"</string>
-    <string name="default_preference_summary_domain_address" msgid="443247296785732364">"&lt;Ni nastavljeno&gt;"</string>
-    <string name="display_name_summary" msgid="6749135030093260358">"&lt;Enako kot uporabniško ime&gt;"</string>
-    <string name="optional_summary" msgid="620379377865437488">"&lt;Izbirno&gt;"</string>
-    <string name="advanced_settings_show" msgid="2318728080037568529">"▷ Dotaknite se, da prikažete vse"</string>
-    <string name="advanced_settings_hide" msgid="6200816937370652083">"▽ Dotaknite se, če želite skriti vse"</string>
-    <string name="all_empty_alert" msgid="6085603517610199098">"Vnesite podrobnosti novega računa SIP."</string>
-    <string name="empty_alert" msgid="3693655518612836718">"Polje <xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> je obvezno in ne sme biti prazno."</string>
-    <string name="not_a_valid_port" msgid="3664668836663491376">"Številka vrat mora biti med 1000 in 65534."</string>
-    <string name="no_internet_available" msgid="161720645084325479">"Če želite opraviti klic SIP, najprej preverite internetno povezavo."</string>
-    <string name="no_wifi_available" msgid="1179092018692306312">"Za klice SIP morate biti povezani v omrežje Wi-Fi (uporabite nastavitve »Brezžično in omrežja«)."</string>
-    <string name="no_voip" msgid="3366395789297981738">"Klicanje SIP ni podprto"</string>
-    <string name="sip_system_decide" msgid="197230378376326430">"Samodejno"</string>
-    <string name="sip_always_send_keepalive" msgid="4986533673960084769">"Vedno pošlji"</string>
-    <string name="sip_connection_service_label" msgid="8796284274240316006">"Vgrajeno klicanje SIP"</string>
-</resources>
diff --git a/sip/res/values-sq/strings.xml b/sip/res/values-sq/strings.xml
deleted file mode 100644
index e2e2ff1..0000000
--- a/sip/res/values-sq/strings.xml
+++ /dev/null
@@ -1,80 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2014 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7452587325305604702">"Cilësimet SIP"</string>
-    <string name="sip_accounts" msgid="7297896885665783239">"Llogaritë SIP"</string>
-    <string name="sip_accounts_title" msgid="3061686404598143943">"Llogaritë"</string>
-    <string name="sip_receive_calls" msgid="3403644006618369349">"Merr telefonata hyrëse"</string>
-    <string name="sip_receive_calls_summary" msgid="5306603671778761443">"Pakëson jetëgjatësinë e baterisë"</string>
-    <string name="sip_call_options_title" msgid="5027066677561068192">"Përdor telefonatat me SIP"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6663105297927456484">"Përdor telefonatat me SIP (vetëm Wi-Fi)"</string>
-    <string name="sip_call_options_entry_1" msgid="4722647332760934261">"Për të gjitha telefonat kur rrjeti i të dhënave mund të përdoret"</string>
-    <string name="sip_call_options_entry_2" msgid="7338504256051655013">"Vetëm për telefonatat me SIP"</string>
-    <string name="sip_call_options_wifi_only_entry_1" msgid="922329055414010991">"Për të gjitha telefonatat"</string>
-    <string name="add_sip_account" msgid="5754758646745144384">"Shto llogari"</string>
-    <string name="remove_sip_account" msgid="8272617403399636513">"Hiq llogarinë"</string>
-    <string name="sip_account_list" msgid="2596262496233721769">"Llogaritë SIP"</string>
-    <string name="saving_account" msgid="3390358043846687266">"Po ruan llogarinë…"</string>
-    <string name="removing_account" msgid="1544132880414780408">"Po heq llogarinë…"</string>
-    <string name="sip_menu_save" msgid="4377112554203123060">"Ruaj"</string>
-    <string name="sip_menu_discard" msgid="1883166691772895243">"Hiq"</string>
-    <string name="alert_dialog_close" msgid="1734746505531110706">"Mbyll profilin"</string>
-    <string name="alert_dialog_ok" msgid="7806760618798687406">"Në rregull"</string>
-    <string name="close_profile" msgid="3756064641769751774">"Mbyll"</string>
-    <string name="registration_status_checking_status" msgid="884179594507591180">"Po kontrollon statusin..."</string>
-    <string name="registration_status_registering" msgid="7986331597809521791">"Po regjistron..."</string>
-    <string name="registration_status_still_trying" msgid="7178623685868766282">"Vazhdon të riprovojë…"</string>
-    <string name="registration_status_not_receiving" msgid="3873074208531938401">"Nuk merr telefonata."</string>
-    <string name="registration_status_no_data" msgid="2987064560116584121">"Regjistrimi i llogarisë ndaloi sepse nuk ka lidhje interneti."</string>
-    <string name="registration_status_no_wifi_data" msgid="685470618241482948">"Regjistrimi i llogarisë ndaloi sepse nuk ka lidhje Wi-Fi."</string>
-    <string name="registration_status_not_running" msgid="6236403137652262659">"Regjistrimi i llogarisë ishte i pasuksesshëm."</string>
-    <string name="registration_status_done" msgid="6787397199273357721">"Pranimi i telefonatave."</string>
-    <string name="registration_status_failed_try_later" msgid="7855389184910312091">"Regjistrimi i llogarisë ishte i pasuksesshëm: (<xliff:g id="REGISTRATION_ERROR_MESSAGE">%s</xliff:g>); do të provohet sërish"</string>
-    <string name="registration_status_invalid_credentials" msgid="8896714049938660777">"Regjistrimi i llogarisë ishte i pasuksesshëm: emri i përdoruesit ose fjalëkalimi ishte i pasaktë."</string>
-    <string name="registration_status_server_unreachable" msgid="3832339558868965604">"Regjistrimi i llogarisë ishte i pasuksesshëm. Kontrollo emrin e serverit."</string>
-    <string name="third_party_account_summary" msgid="5918779106950859167">"Kjo llogari është aktualisht në përdorim nga aplikacioni <xliff:g id="ACCOUNT_OWNER">%s</xliff:g>."</string>
-    <string name="sip_edit_title" msgid="7438891546610820307">"SIP"</string>
-    <string name="sip_edit_new_title" msgid="8394790068979636381">"SIP"</string>
-    <string name="domain_address_title" msgid="8238078615181248579">"Serveri"</string>
-    <string name="username_title" msgid="298416796886107970">"Emri i përdoruesit"</string>
-    <string name="password_title" msgid="8035579335591959021">"Fjalëkalimi"</string>
-    <string name="display_name_title" msgid="3730105783656830160">"Shfaq emrin"</string>
-    <string name="proxy_address_title" msgid="4120361943254795287">"Adresa e proxy-it dalës"</string>
-    <string name="port_title" msgid="1703586046264385110">"Numri i portës"</string>
-    <string name="transport_title" msgid="1661659138226029178">"Lloji i transportit"</string>
-    <string name="send_keepalive_title" msgid="5319788151608946049">"Kontrolli i veprimtarisë"</string>
-    <string name="advanced_settings" msgid="2704644977548662872">"Cilësimet opsionale"</string>
-    <string name="auth_username_title" msgid="9002505242616662698">"Emri i përdoruesit për vërtetim"</string>
-    <string name="auth_username_summary" msgid="6346313945275377230">"Emri i përdoruesit i përdorur për vërtetim"</string>
-    <string name="default_preference_summary_username" msgid="8788114717555599222">"&lt;I pavendosur&gt;"</string>
-    <string name="default_preference_summary_password" msgid="3695366978153175549">"&lt;I pavendosur&gt;"</string>
-    <string name="default_preference_summary_domain_address" msgid="443247296785732364">"&lt;I pavendosur&gt;"</string>
-    <string name="display_name_summary" msgid="6749135030093260358">"&lt;Njësoj si emri i përdoruesit&gt;"</string>
-    <string name="optional_summary" msgid="620379377865437488">"&lt;Jo e detyrueshme&gt;"</string>
-    <string name="advanced_settings_show" msgid="2318728080037568529">"▷ Prek për t\'i shfaqur të gjitha"</string>
-    <string name="advanced_settings_hide" msgid="6200816937370652083">"▽ Prek për t\'i fshehur të gjitha"</string>
-    <string name="all_empty_alert" msgid="6085603517610199098">"Fut të dhënat e një llogarie të re SIP."</string>
-    <string name="empty_alert" msgid="3693655518612836718">"<xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> është e detyrueshme dhe nuk mund të lihet bosh."</string>
-    <string name="not_a_valid_port" msgid="3664668836663491376">"Numri i portës duhet të jetë brenda 1 000 dhe 65 534."</string>
-    <string name="no_internet_available" msgid="161720645084325479">"Për të kryer një telefonatë SIP, kontrollo lidhjen e internetit së pari."</string>
-    <string name="no_wifi_available" msgid="1179092018692306312">"Duhet të jesh i lidhur me rrjetin Wi-Fi për telefonata SIP (përdor \"Me valë dhe cilësimet e rrjetit\")."</string>
-    <string name="no_voip" msgid="3366395789297981738">"\"Telefonata SIP\" nuk mbështetet"</string>
-    <string name="sip_system_decide" msgid="197230378376326430">"Automatik"</string>
-    <string name="sip_always_send_keepalive" msgid="4986533673960084769">"Dërgo gjithmonë"</string>
-    <string name="sip_connection_service_label" msgid="8796284274240316006">"Telefonata SIP e integruar"</string>
-</resources>
diff --git a/sip/res/values-sr/strings.xml b/sip/res/values-sr/strings.xml
deleted file mode 100644
index 4c15528..0000000
--- a/sip/res/values-sr/strings.xml
+++ /dev/null
@@ -1,80 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2014 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7452587325305604702">"Подешавања SIP-а"</string>
-    <string name="sip_accounts" msgid="7297896885665783239">"SIP налози"</string>
-    <string name="sip_accounts_title" msgid="3061686404598143943">"Налози"</string>
-    <string name="sip_receive_calls" msgid="3403644006618369349">"Примај долазне позиве"</string>
-    <string name="sip_receive_calls_summary" msgid="5306603671778761443">"Више троши батерију"</string>
-    <string name="sip_call_options_title" msgid="5027066677561068192">"Користите SIP позивање"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6663105297927456484">"Користите SIP позивање (само за WiFi)"</string>
-    <string name="sip_call_options_entry_1" msgid="4722647332760934261">"За све позиве када је мрежа за пренос података доступна"</string>
-    <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="sip_account_list" msgid="2596262496233721769">"SIP налози"</string>
-    <string name="saving_account" msgid="3390358043846687266">"Чување налога..."</string>
-    <string name="removing_account" msgid="1544132880414780408">"Уклањање налога..."</string>
-    <string name="sip_menu_save" msgid="4377112554203123060">"Сачувај"</string>
-    <string name="sip_menu_discard" msgid="1883166691772895243">"Одбаци"</string>
-    <string name="alert_dialog_close" msgid="1734746505531110706">"Затворите профил"</string>
-    <string name="alert_dialog_ok" msgid="7806760618798687406">"Потврди"</string>
-    <string name="close_profile" msgid="3756064641769751774">"Затвори"</string>
-    <string name="registration_status_checking_status" msgid="884179594507591180">"Провера статуса..."</string>
-    <string name="registration_status_registering" msgid="7986331597809521791">"Регистровање..."</string>
-    <string name="registration_status_still_trying" msgid="7178623685868766282">"И даље покушава..."</string>
-    <string name="registration_status_not_receiving" msgid="3873074208531938401">"Не примамо позиве."</string>
-    <string name="registration_status_no_data" msgid="2987064560116584121">"Регистрација налога је заустављена зато што не постоји интернет веза."</string>
-    <string name="registration_status_no_wifi_data" msgid="685470618241482948">"Регистрација налога је заустављена зато што не постоји WiFi веза."</string>
-    <string name="registration_status_not_running" msgid="6236403137652262659">"Регистрација налога није успела."</string>
-    <string name="registration_status_done" msgid="6787397199273357721">"Примамо позиве."</string>
-    <string name="registration_status_failed_try_later" msgid="7855389184910312091">"Регистрација налога није успела: <xliff:g id="REGISTRATION_ERROR_MESSAGE">%s</xliff:g>; покушаћемо касније"</string>
-    <string name="registration_status_invalid_credentials" msgid="8896714049938660777">"Регистрација налога није успела: нетачно корисничко име или лозинка."</string>
-    <string name="registration_status_server_unreachable" msgid="3832339558868965604">"Регистрација налога није успела: Проверите назив сервера."</string>
-    <string name="third_party_account_summary" msgid="5918779106950859167">"Овај налог тренутно користи апликација <xliff:g id="ACCOUNT_OWNER">%s</xliff:g>."</string>
-    <string name="sip_edit_title" msgid="7438891546610820307">"Детаљи о SIP налогу"</string>
-    <string name="sip_edit_new_title" msgid="8394790068979636381">"Детаљи о SIP налогу"</string>
-    <string name="domain_address_title" msgid="8238078615181248579">"Сервер"</string>
-    <string name="username_title" msgid="298416796886107970">"Корисничко име"</string>
-    <string name="password_title" msgid="8035579335591959021">"Лозинка"</string>
-    <string name="display_name_title" msgid="3730105783656830160">"Име за приказ"</string>
-    <string name="proxy_address_title" msgid="4120361943254795287">"Одлазна адреса проксија"</string>
-    <string name="port_title" msgid="1703586046264385110">"Број порта"</string>
-    <string name="transport_title" msgid="1661659138226029178">"Тип преноса"</string>
-    <string name="send_keepalive_title" msgid="5319788151608946049">"Одржавање везе порукама"</string>
-    <string name="advanced_settings" msgid="2704644977548662872">"Опционална подешавања"</string>
-    <string name="auth_username_title" msgid="9002505242616662698">"Корисничко име за потврду идентитета"</string>
-    <string name="auth_username_summary" msgid="6346313945275377230">"За потврду идентитета користи се корисничко име"</string>
-    <string name="default_preference_summary_username" msgid="8788114717555599222">"&lt;Није подешено&gt;"</string>
-    <string name="default_preference_summary_password" msgid="3695366978153175549">"&lt;Није подешено&gt;"</string>
-    <string name="default_preference_summary_domain_address" msgid="443247296785732364">"&lt;Није подешено&gt;"</string>
-    <string name="display_name_summary" msgid="6749135030093260358">"&lt;Исто као корисничко име&gt;"</string>
-    <string name="optional_summary" msgid="620379377865437488">"&lt;Опционално&gt;"</string>
-    <string name="advanced_settings_show" msgid="2318728080037568529">"▷ Додирните да бисте приказали све"</string>
-    <string name="advanced_settings_hide" msgid="6200816937370652083">"▽ Додирните да бисте сакрили све"</string>
-    <string name="all_empty_alert" msgid="6085603517610199098">"Унесите детаље о новом SIP налогу."</string>
-    <string name="empty_alert" msgid="3693655518612836718">"Поље <xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> је обавезно и не може да буде празно."</string>
-    <string name="not_a_valid_port" msgid="3664668836663491376">"Број порта би требало да буде између 1000 и 65.534."</string>
-    <string name="no_internet_available" msgid="161720645084325479">"Да бисте упутили SIP позив, прво проверите интернет везу."</string>
-    <string name="no_wifi_available" msgid="1179092018692306312">"Треба да будете повезани са WiFi мрежом да бисте упућивали SIP позиве (користите Подешавања бежичних веза и мрежа)."</string>
-    <string name="no_voip" msgid="3366395789297981738">"SIP позивање није подржано"</string>
-    <string name="sip_system_decide" msgid="197230378376326430">"Аутоматски"</string>
-    <string name="sip_always_send_keepalive" msgid="4986533673960084769">"Увек шаљи"</string>
-    <string name="sip_connection_service_label" msgid="8796284274240316006">"Уграђена функција SIP позивања"</string>
-</resources>
diff --git a/sip/res/values-sv/strings.xml b/sip/res/values-sv/strings.xml
deleted file mode 100644
index a59eb21..0000000
--- a/sip/res/values-sv/strings.xml
+++ /dev/null
@@ -1,80 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2014 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7452587325305604702">"SIP-inställningar"</string>
-    <string name="sip_accounts" msgid="7297896885665783239">"SIP-konton"</string>
-    <string name="sip_accounts_title" msgid="3061686404598143943">"Konton"</string>
-    <string name="sip_receive_calls" msgid="3403644006618369349">"Ta emot inkommande samtal"</string>
-    <string name="sip_receive_calls_summary" msgid="5306603671778761443">"Drar mer batteri"</string>
-    <string name="sip_call_options_title" msgid="5027066677561068192">"Använd SIP-samtal"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6663105297927456484">"Använd SIP-samtal (endast Wi-FI)"</string>
-    <string name="sip_call_options_entry_1" msgid="4722647332760934261">"För alla samtal när datanätverk är tillgängligt"</string>
-    <string name="sip_call_options_entry_2" msgid="7338504256051655013">"Endast för SIP-samtal"</string>
-    <string name="sip_call_options_wifi_only_entry_1" msgid="922329055414010991">"För alla samtal"</string>
-    <string name="add_sip_account" msgid="5754758646745144384">"Lägg till ett konto"</string>
-    <string name="remove_sip_account" msgid="8272617403399636513">"Ta bort konto"</string>
-    <string name="sip_account_list" msgid="2596262496233721769">"SIP-konton"</string>
-    <string name="saving_account" msgid="3390358043846687266">"Kontot sparas ..."</string>
-    <string name="removing_account" msgid="1544132880414780408">"Kontot tas bort ..."</string>
-    <string name="sip_menu_save" msgid="4377112554203123060">"Spara"</string>
-    <string name="sip_menu_discard" msgid="1883166691772895243">"Ignorera"</string>
-    <string name="alert_dialog_close" msgid="1734746505531110706">"Stäng profilen"</string>
-    <string name="alert_dialog_ok" msgid="7806760618798687406">"OK"</string>
-    <string name="close_profile" msgid="3756064641769751774">"Stäng"</string>
-    <string name="registration_status_checking_status" msgid="884179594507591180">"Kontrollerar status ..."</string>
-    <string name="registration_status_registering" msgid="7986331597809521791">"Registrerar ..."</string>
-    <string name="registration_status_still_trying" msgid="7178623685868766282">"Försöker fortfarande ..."</string>
-    <string name="registration_status_not_receiving" msgid="3873074208531938401">"Tar inte emot samtal."</string>
-    <string name="registration_status_no_data" msgid="2987064560116584121">"Kontoregistreringen avbröts eftersom det inte finns någon internetanslutning."</string>
-    <string name="registration_status_no_wifi_data" msgid="685470618241482948">"Kontoregistreringen avbröts eftersom det inte finns någon wifi-anslutning."</string>
-    <string name="registration_status_not_running" msgid="6236403137652262659">"Det gick inte att registrera kontot."</string>
-    <string name="registration_status_done" msgid="6787397199273357721">"Tar emot samtal."</string>
-    <string name="registration_status_failed_try_later" msgid="7855389184910312091">"Det gick inte att registrera kontot: (<xliff:g id="REGISTRATION_ERROR_MESSAGE">%s</xliff:g>); försöker igen senare"</string>
-    <string name="registration_status_invalid_credentials" msgid="8896714049938660777">"Det gick inte att registrera kontot: felaktigt användarnamn eller lösenord."</string>
-    <string name="registration_status_server_unreachable" msgid="3832339558868965604">"Det gick inte att registrera kontot. Kontrollera servernamnet."</string>
-    <string name="third_party_account_summary" msgid="5918779106950859167">"Kontot används för närvarande i appen <xliff:g id="ACCOUNT_OWNER">%s</xliff:g>."</string>
-    <string name="sip_edit_title" msgid="7438891546610820307">"SIP-kontouppgifter"</string>
-    <string name="sip_edit_new_title" msgid="8394790068979636381">"SIP-kontouppgifter"</string>
-    <string name="domain_address_title" msgid="8238078615181248579">"Server"</string>
-    <string name="username_title" msgid="298416796886107970">"Användarnamn"</string>
-    <string name="password_title" msgid="8035579335591959021">"Lösenord"</string>
-    <string name="display_name_title" msgid="3730105783656830160">"Visningsnamn"</string>
-    <string name="proxy_address_title" msgid="4120361943254795287">"Utgående proxyadress"</string>
-    <string name="port_title" msgid="1703586046264385110">"Portnummer"</string>
-    <string name="transport_title" msgid="1661659138226029178">"Transporttyp"</string>
-    <string name="send_keepalive_title" msgid="5319788151608946049">"Skicka \"behåll aktiv\""</string>
-    <string name="advanced_settings" msgid="2704644977548662872">"Valfria inställningar"</string>
-    <string name="auth_username_title" msgid="9002505242616662698">"Användarnamn vid autentisering"</string>
-    <string name="auth_username_summary" msgid="6346313945275377230">"Användarnamn som används vid autentisering"</string>
-    <string name="default_preference_summary_username" msgid="8788114717555599222">"&lt;Har inte angetts&gt;"</string>
-    <string name="default_preference_summary_password" msgid="3695366978153175549">"&lt;Har inte angetts&gt;"</string>
-    <string name="default_preference_summary_domain_address" msgid="443247296785732364">"&lt;Har inte angetts&gt;"</string>
-    <string name="display_name_summary" msgid="6749135030093260358">"&lt;Samma som användarnamn&gt;"</string>
-    <string name="optional_summary" msgid="620379377865437488">"&lt;Valfritt&gt;"</string>
-    <string name="advanced_settings_show" msgid="2318728080037568529">"▷ Tryck om du vill visa alla"</string>
-    <string name="advanced_settings_hide" msgid="6200816937370652083">"▽ Tryck om du vill dölja alla"</string>
-    <string name="all_empty_alert" msgid="6085603517610199098">"Ange uppgifter för det nya SIP-kontot."</string>
-    <string name="empty_alert" msgid="3693655518612836718">"<xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> är ett obligatoriskt fält som måste fyllas i."</string>
-    <string name="not_a_valid_port" msgid="3664668836663491376">"Portnumret ska vara mellan 1000 och 65534."</string>
-    <string name="no_internet_available" msgid="161720645084325479">"Om du vill ringa ett SIP-samtal kontrollerar du först att du är ansluten till internet."</string>
-    <string name="no_wifi_available" msgid="1179092018692306312">"Du måste vara ansluten till wifi för att kunna ringa SIP-samtal (du ändrar detta i inställningarna för Trådlöst och nätverk)."</string>
-    <string name="no_voip" msgid="3366395789297981738">"SIP-samtal stöds inte"</string>
-    <string name="sip_system_decide" msgid="197230378376326430">"Automatiskt"</string>
-    <string name="sip_always_send_keepalive" msgid="4986533673960084769">"Skicka alltid"</string>
-    <string name="sip_connection_service_label" msgid="8796284274240316006">"Inbyggd tjänst för SIP-samtal"</string>
-</resources>
diff --git a/sip/res/values-sw/strings.xml b/sip/res/values-sw/strings.xml
deleted file mode 100644
index 8d76123..0000000
--- a/sip/res/values-sw/strings.xml
+++ /dev/null
@@ -1,80 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2014 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7452587325305604702">"Mipangilio ya SIP"</string>
-    <string name="sip_accounts" msgid="7297896885665783239">"Akaunti za SIP"</string>
-    <string name="sip_accounts_title" msgid="3061686404598143943">"Akaunti"</string>
-    <string name="sip_receive_calls" msgid="3403644006618369349">"Pokea simu zinazoingia"</string>
-    <string name="sip_receive_calls_summary" msgid="5306603671778761443">"Hutumia betri zaidi"</string>
-    <string name="sip_call_options_title" msgid="5027066677561068192">"Tumia upigaji simu wa SIP"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6663105297927456484">"Tumia upigaji simu wa SIP (Wi-Fi pekee)"</string>
-    <string name="sip_call_options_entry_1" msgid="4722647332760934261">"Kwa simu zote wakati mtandao wa data unapatikana"</string>
-    <string name="sip_call_options_entry_2" msgid="7338504256051655013">"Kwa simu za SIP pekee"</string>
-    <string name="sip_call_options_wifi_only_entry_1" msgid="922329055414010991">"Kwa simu zote"</string>
-    <string name="add_sip_account" msgid="5754758646745144384">"Ongeza akaunti"</string>
-    <string name="remove_sip_account" msgid="8272617403399636513">"Ondoa akaunti"</string>
-    <string name="sip_account_list" msgid="2596262496233721769">"Akaunti za SIP"</string>
-    <string name="saving_account" msgid="3390358043846687266">"Inahifadhi akaunti..."</string>
-    <string name="removing_account" msgid="1544132880414780408">"Inaondoa akaunti..."</string>
-    <string name="sip_menu_save" msgid="4377112554203123060">"Hifadhi"</string>
-    <string name="sip_menu_discard" msgid="1883166691772895243">"Tupa"</string>
-    <string name="alert_dialog_close" msgid="1734746505531110706">"Funga wasifu"</string>
-    <string name="alert_dialog_ok" msgid="7806760618798687406">"Sawa"</string>
-    <string name="close_profile" msgid="3756064641769751774">"Funga"</string>
-    <string name="registration_status_checking_status" msgid="884179594507591180">"Inakagua hali..."</string>
-    <string name="registration_status_registering" msgid="7986331597809521791">"Inasajili..."</string>
-    <string name="registration_status_still_trying" msgid="7178623685868766282">"Bado inajaribu..."</string>
-    <string name="registration_status_not_receiving" msgid="3873074208531938401">"Haipokei simu."</string>
-    <string name="registration_status_no_data" msgid="2987064560116584121">"Usajili wa akaunti umekomeshwa kwa sababu hakuna muunganisho wa Intaneti."</string>
-    <string name="registration_status_no_wifi_data" msgid="685470618241482948">"Usajili wa akaunti umekomeshwa kwa sababu hakuna muunganisho wa Wi-Fi."</string>
-    <string name="registration_status_not_running" msgid="6236403137652262659">"Usajili wa akaunti haujafaulu."</string>
-    <string name="registration_status_done" msgid="6787397199273357721">"Inapokea simu."</string>
-    <string name="registration_status_failed_try_later" msgid="7855389184910312091">"Usajili wa akaunti hujafaulu: (<xliff:g id="REGISTRATION_ERROR_MESSAGE">%s</xliff:g>); itajaribu baadaye"</string>
-    <string name="registration_status_invalid_credentials" msgid="8896714049938660777">"Usajili wa akaunti hujafaulu: Jina la mtumiaji au nenosiri sio sahihi."</string>
-    <string name="registration_status_server_unreachable" msgid="3832339558868965604">"Usajili wa akaunti haujafaulu: Kagua jina la seva."</string>
-    <string name="third_party_account_summary" msgid="5918779106950859167">"Akaunti hii inatumika kwa sasa na programu ya <xliff:g id="ACCOUNT_OWNER">%s</xliff:g>."</string>
-    <string name="sip_edit_title" msgid="7438891546610820307">"Akaunti ya SIP: maelezo"</string>
-    <string name="sip_edit_new_title" msgid="8394790068979636381">"Akaunti ya SIP: maelezo"</string>
-    <string name="domain_address_title" msgid="8238078615181248579">"Seva"</string>
-    <string name="username_title" msgid="298416796886107970">"Mtumiaji"</string>
-    <string name="password_title" msgid="8035579335591959021">"Nenosiri"</string>
-    <string name="display_name_title" msgid="3730105783656830160">"Jina la kuonyesha"</string>
-    <string name="proxy_address_title" msgid="4120361943254795287">"Anwani ya seva mbadala ya kutoka"</string>
-    <string name="port_title" msgid="1703586046264385110">"Nambari ya mlango"</string>
-    <string name="transport_title" msgid="1661659138226029178">"Aina ya usafiri"</string>
-    <string name="send_keepalive_title" msgid="5319788151608946049">"Tuma weka-hai"</string>
-    <string name="advanced_settings" msgid="2704644977548662872">"Mipangilio ya hiari"</string>
-    <string name="auth_username_title" msgid="9002505242616662698">"Jina la mtumiaji la uthibitishaji"</string>
-    <string name="auth_username_summary" msgid="6346313945275377230">"Jina la mtumiaji hutumiwa kuthibitisha"</string>
-    <string name="default_preference_summary_username" msgid="8788114717555599222">"&lt;Hajawekwa&gt;"</string>
-    <string name="default_preference_summary_password" msgid="3695366978153175549">"&lt;Halijawekwa&gt;"</string>
-    <string name="default_preference_summary_domain_address" msgid="443247296785732364">"&lt;Haijawekwa&gt;"</string>
-    <string name="display_name_summary" msgid="6749135030093260358">"&lt;Sawa na jina la mtumiaji&gt;"</string>
-    <string name="optional_summary" msgid="620379377865437488">"&lt;Ni hiari&gt;"</string>
-    <string name="advanced_settings_show" msgid="2318728080037568529">"▷ Gusa ili uonyeshe yote"</string>
-    <string name="advanced_settings_hide" msgid="6200816937370652083">"▽ Gusa ili ufiche zote"</string>
-    <string name="all_empty_alert" msgid="6085603517610199098">"Weka maelezo ya akaunti mpya ya SIP."</string>
-    <string name="empty_alert" msgid="3693655518612836718">"<xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> sharti ijazwe na haiwezi kuachwa wazi."</string>
-    <string name="not_a_valid_port" msgid="3664668836663491376">"Nambari ya mlango inafaa kuwa kati ya 1000 na 65534."</string>
-    <string name="no_internet_available" msgid="161720645084325479">"Ili upige simu ya SIP, kwanza kagua muunganisho wako wa Intaneti."</string>
-    <string name="no_wifi_available" msgid="1179092018692306312">"Inabidi uwe umeunganishwa kwenye mtandao wa Wi-Fi ili upige simu za SIP (tumia mipangilio ya Bila Kutumia Waya na Mtandao)."</string>
-    <string name="no_voip" msgid="3366395789297981738">"Upigaji simu ya SIP hauwezi kutumika."</string>
-    <string name="sip_system_decide" msgid="197230378376326430">"Otomatiki"</string>
-    <string name="sip_always_send_keepalive" msgid="4986533673960084769">"Tuma kila wakati"</string>
-    <string name="sip_connection_service_label" msgid="8796284274240316006">"Upigaji simu wa SIP uliojengewa ndani ya kifaa"</string>
-</resources>
diff --git a/sip/res/values-ta/strings.xml b/sip/res/values-ta/strings.xml
deleted file mode 100644
index 657d296..0000000
--- a/sip/res/values-ta/strings.xml
+++ /dev/null
@@ -1,80 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2014 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7452587325305604702">"SIP அமைப்புகள்"</string>
-    <string name="sip_accounts" msgid="7297896885665783239">"SIP கணக்குகள்"</string>
-    <string name="sip_accounts_title" msgid="3061686404598143943">"கணக்குகள்"</string>
-    <string name="sip_receive_calls" msgid="3403644006618369349">"உள்வரும் அழைப்புகளைப் பெறு"</string>
-    <string name="sip_receive_calls_summary" msgid="5306603671778761443">"பேட்டரியை அதிகமாகப் பயன்படுத்தும்"</string>
-    <string name="sip_call_options_title" msgid="5027066677561068192">"SIP அழைப்பைப் பயன்படுத்து"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6663105297927456484">"SIP அழைப்பைப் பயன்படுத்து (வைஃபை மட்டும்)"</string>
-    <string name="sip_call_options_entry_1" msgid="4722647332760934261">"தரவு நெட்வொர்க் கிடைக்கும்போது எல்லா அழைப்புகளுக்கும்"</string>
-    <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="sip_account_list" msgid="2596262496233721769">"SIP கணக்குகள்"</string>
-    <string name="saving_account" msgid="3390358043846687266">"கணக்கைச் சேமிக்கிறது…"</string>
-    <string name="removing_account" msgid="1544132880414780408">"கணக்கை அகற்றுகிறது…"</string>
-    <string name="sip_menu_save" msgid="4377112554203123060">"சேமி"</string>
-    <string name="sip_menu_discard" msgid="1883166691772895243">"நிராகரி"</string>
-    <string name="alert_dialog_close" msgid="1734746505531110706">"சுயவிவரத்தை மூடு"</string>
-    <string name="alert_dialog_ok" msgid="7806760618798687406">"சரி"</string>
-    <string name="close_profile" msgid="3756064641769751774">"மூடு"</string>
-    <string name="registration_status_checking_status" msgid="884179594507591180">"நிலையைச் சரிபார்க்கிறது..."</string>
-    <string name="registration_status_registering" msgid="7986331597809521791">"பதிவுசெய்கிறது…"</string>
-    <string name="registration_status_still_trying" msgid="7178623685868766282">"இன்னும் முயற்சிக்கிறது…"</string>
-    <string name="registration_status_not_receiving" msgid="3873074208531938401">"அழைப்புகளைப் பெறவில்லை."</string>
-    <string name="registration_status_no_data" msgid="2987064560116584121">"இணைய இணைப்பு இல்லாததால், கணக்குப் பதிவு நிறுத்தப்பட்டது."</string>
-    <string name="registration_status_no_wifi_data" msgid="685470618241482948">"வைஃபை இணைப்பு இல்லாததால், கணக்குப் பதிவு நிறுத்தப்பட்டது."</string>
-    <string name="registration_status_not_running" msgid="6236403137652262659">"கணக்குப் பதிவு தோல்வி."</string>
-    <string name="registration_status_done" msgid="6787397199273357721">"அழைப்புகளைப் பெறுதல்."</string>
-    <string name="registration_status_failed_try_later" msgid="7855389184910312091">"கணக்குப் பதிவு தோல்வி: (<xliff:g id="REGISTRATION_ERROR_MESSAGE">%s</xliff:g>); பிறகு முயலவும்"</string>
-    <string name="registration_status_invalid_credentials" msgid="8896714049938660777">"கணக்குப் பதிவு தோல்வி: பயனர்பெயர் அல்லது கடவுச்சொல் தவறானது."</string>
-    <string name="registration_status_server_unreachable" msgid="3832339558868965604">"கணக்குப் பதிவு தோல்வி: சேவையகப் பெயரைச் சரிபார்க்கவும்."</string>
-    <string name="third_party_account_summary" msgid="5918779106950859167">"தற்போது <xliff:g id="ACCOUNT_OWNER">%s</xliff:g> ஆப்ஸால் கணக்குப் பயன்படுத்தப்படுகிறது."</string>
-    <string name="sip_edit_title" msgid="7438891546610820307">"SIP கணக்கு விவரங்கள்"</string>
-    <string name="sip_edit_new_title" msgid="8394790068979636381">"SIP கணக்கு விவரங்கள்"</string>
-    <string name="domain_address_title" msgid="8238078615181248579">"சேவையகம்"</string>
-    <string name="username_title" msgid="298416796886107970">"பயனர்பெயர்"</string>
-    <string name="password_title" msgid="8035579335591959021">"கடவுச்சொல்"</string>
-    <string name="display_name_title" msgid="3730105783656830160">"காட்சிப் பெயர்"</string>
-    <string name="proxy_address_title" msgid="4120361943254795287">"வெளிப்புற ப்ராக்ஸி முகவரி"</string>
-    <string name="port_title" msgid="1703586046264385110">"போர்ட் எண்"</string>
-    <string name="transport_title" msgid="1661659138226029178">"பரிமாற்ற வகை"</string>
-    <string name="send_keepalive_title" msgid="5319788151608946049">"எப்போதும் விழிப்புடன் அனுப்பு"</string>
-    <string name="advanced_settings" msgid="2704644977548662872">"விருப்ப அமைப்பு"</string>
-    <string name="auth_username_title" msgid="9002505242616662698">"அங்கீகாரப் பயனர்பெயர்"</string>
-    <string name="auth_username_summary" msgid="6346313945275377230">"அங்கீகரிப்பிற்குப் பயன்படுத்தப்படும் பயனர்பெயர்"</string>
-    <string name="default_preference_summary_username" msgid="8788114717555599222">"&lt;அமைக்கப்படவில்லை&gt;"</string>
-    <string name="default_preference_summary_password" msgid="3695366978153175549">"&lt;அமைக்கப்படவில்லை&gt;"</string>
-    <string name="default_preference_summary_domain_address" msgid="443247296785732364">"&lt;அமைக்கப்படவில்லை&gt;"</string>
-    <string name="display_name_summary" msgid="6749135030093260358">"&lt;பயனர்பெயர் போன்றது&gt;"</string>
-    <string name="optional_summary" msgid="620379377865437488">"&lt;விரும்பினால்&gt;"</string>
-    <string name="advanced_settings_show" msgid="2318728080037568529">"▷ எல்லாவற்றையும் காட்ட தொடவும்"</string>
-    <string name="advanced_settings_hide" msgid="6200816937370652083">"▽ எல்லாவற்றையும் மறைக்கத் தொடவும்"</string>
-    <string name="all_empty_alert" msgid="6085603517610199098">"புதிய SIP கணக்கின் விவரங்களை உள்ளிடவும்."</string>
-    <string name="empty_alert" msgid="3693655518612836718">"<xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> அவசியமானது மற்றும் வெறுமையாக விடக்கூடாது."</string>
-    <string name="not_a_valid_port" msgid="3664668836663491376">"போர்ட் எண் 1000 இலிருந்து 65534 க்குள் இருக்க வேண்டும்."</string>
-    <string name="no_internet_available" msgid="161720645084325479">"SIP மூலம் அழைக்க, முதலில் இணைய இணைப்பைச் சரிபார்க்கவும்."</string>
-    <string name="no_wifi_available" msgid="1179092018692306312">"SIP அழைப்புகளைச் செய்ய, வைஃபை நெட்வொர்க்குடன் இணைக்கப்பட்டிருக்க வேண்டும் (வயர்லெஸ் &amp; நெட்வொர்க் அமைப்புகளைப் பயன்படுத்தவும்)."</string>
-    <string name="no_voip" msgid="3366395789297981738">"SIP அழைப்பு ஆதரிக்கப்படாது"</string>
-    <string name="sip_system_decide" msgid="197230378376326430">"தானியங்கு"</string>
-    <string name="sip_always_send_keepalive" msgid="4986533673960084769">"எப்போதும் அனுப்பு"</string>
-    <string name="sip_connection_service_label" msgid="8796284274240316006">"உள்கட்டமைக்கப்பட்ட SIP அழைப்பு"</string>
-</resources>
diff --git a/sip/res/values-te/strings.xml b/sip/res/values-te/strings.xml
deleted file mode 100644
index e91fab8..0000000
--- a/sip/res/values-te/strings.xml
+++ /dev/null
@@ -1,80 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2014 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7452587325305604702">"SIP సెట్టింగ్‌లు"</string>
-    <string name="sip_accounts" msgid="7297896885665783239">"SIP ఖాతాలు"</string>
-    <string name="sip_accounts_title" msgid="3061686404598143943">"ఖాతాలు"</string>
-    <string name="sip_receive_calls" msgid="3403644006618369349">"ఇన్‌కమింగ్ కాల్స్‌ను స్వీకరించు"</string>
-    <string name="sip_receive_calls_summary" msgid="5306603671778761443">"ఎక్కువ బ్యాటరీని ఉపయోగిస్తుంది"</string>
-    <string name="sip_call_options_title" msgid="5027066677561068192">"SIP కాలింగ్‌ను ఉపయోగించండి"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6663105297927456484">"SIP కాలింగ్‌ను (Wi-Fi మాత్రమే) ఉపయోగించండి"</string>
-    <string name="sip_call_options_entry_1" msgid="4722647332760934261">"డేటా నెట్‌వర్క్ అందుబాటులో ఉన్నప్పుడు అన్ని కాల్స్‌ల కోసం"</string>
-    <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="sip_account_list" msgid="2596262496233721769">"SIP ఖాతాలు"</string>
-    <string name="saving_account" msgid="3390358043846687266">"ఖాతాను సేవ్ చేస్తోంది…"</string>
-    <string name="removing_account" msgid="1544132880414780408">"ఖాతాను తీసివేస్తోంది…"</string>
-    <string name="sip_menu_save" msgid="4377112554203123060">"సేవ్ చేయి"</string>
-    <string name="sip_menu_discard" msgid="1883166691772895243">"విస్మరించు"</string>
-    <string name="alert_dialog_close" msgid="1734746505531110706">"ప్రొఫైల్‌ను మూసివేయండి"</string>
-    <string name="alert_dialog_ok" msgid="7806760618798687406">"సరే"</string>
-    <string name="close_profile" msgid="3756064641769751774">"మూసివేయి"</string>
-    <string name="registration_status_checking_status" msgid="884179594507591180">"స్టేటస్‌ని తనిఖీ చేస్తోంది..."</string>
-    <string name="registration_status_registering" msgid="7986331597809521791">"నమోదు చేస్తోంది…"</string>
-    <string name="registration_status_still_trying" msgid="7178623685868766282">"ఇప్పటికీ ప్రయత్నిస్తోంది..."</string>
-    <string name="registration_status_not_receiving" msgid="3873074208531938401">"కాల్స్‌ను స్వీకరించడం లేదు."</string>
-    <string name="registration_status_no_data" msgid="2987064560116584121">"ఇంటర్నెట్ కనెక్షన్ లేని కారణంగా ఖాతా నమోదు ఆపివేయబడింది."</string>
-    <string name="registration_status_no_wifi_data" msgid="685470618241482948">"Wi-Fi కనెక్షన్ లేని కారణంగా ఖాతా నమోదు ఆపివేయబడింది."</string>
-    <string name="registration_status_not_running" msgid="6236403137652262659">"ఖాతా నమోదు విఫలమైంది."</string>
-    <string name="registration_status_done" msgid="6787397199273357721">"కాల్స్‌ను స్వీకరిస్తోంది."</string>
-    <string name="registration_status_failed_try_later" msgid="7855389184910312091">"ఖాతా నమోదు విఫలమైంది: (<xliff:g id="REGISTRATION_ERROR_MESSAGE">%s</xliff:g>); తర్వాత ప్రయత్నిస్తుంది"</string>
-    <string name="registration_status_invalid_credentials" msgid="8896714049938660777">"ఖాతా నమోదు విఫలమైంది: చెల్లని వినియోగదారు పేరు లేదా పాస్‌వర్డ్."</string>
-    <string name="registration_status_server_unreachable" msgid="3832339558868965604">"ఖాతా నమోదు విఫలమైంది: సర్వర్ పేరు తనిఖీ చేయండి."</string>
-    <string name="third_party_account_summary" msgid="5918779106950859167">"ఈ ఖాతా ప్రస్తుతం <xliff:g id="ACCOUNT_OWNER">%s</xliff:g> యాప్‌ ద్వారా ఉపయోగంలో ఉంది."</string>
-    <string name="sip_edit_title" msgid="7438891546610820307">"SIP ఖాతా వివరాలు"</string>
-    <string name="sip_edit_new_title" msgid="8394790068979636381">"SIP ఖాతా వివరాలు"</string>
-    <string name="domain_address_title" msgid="8238078615181248579">"సర్వర్"</string>
-    <string name="username_title" msgid="298416796886107970">"వినియోగదారు పేరు"</string>
-    <string name="password_title" msgid="8035579335591959021">"పాస్‌వర్డ్"</string>
-    <string name="display_name_title" msgid="3730105783656830160">"ప్రదర్శన పేరు"</string>
-    <string name="proxy_address_title" msgid="4120361943254795287">"అవుట్‌బౌండ్ ప్రాక్సీ అడ్రస్‌"</string>
-    <string name="port_title" msgid="1703586046264385110">"పోర్ట్ సంఖ్య"</string>
-    <string name="transport_title" msgid="1661659138226029178">"రవాణా రకం"</string>
-    <string name="send_keepalive_title" msgid="5319788151608946049">"యాక్టివ్‌గా ఉంచే మెసేజ్‌ పంపండి"</string>
-    <string name="advanced_settings" msgid="2704644977548662872">"ఐచ్ఛిక సెట్టింగ్‌లు"</string>
-    <string name="auth_username_title" msgid="9002505242616662698">"ప్రామాణీకరణ వినియోగదారు పేరు"</string>
-    <string name="auth_username_summary" msgid="6346313945275377230">"ప్రామాణీకరణ కోసం వినియోగదారు పేరు ఉపయోగించబడింది"</string>
-    <string name="default_preference_summary_username" msgid="8788114717555599222">"&lt;సెట్ చేయలేదు&gt;"</string>
-    <string name="default_preference_summary_password" msgid="3695366978153175549">"&lt;సెట్ చేయలేదు&gt;"</string>
-    <string name="default_preference_summary_domain_address" msgid="443247296785732364">"&lt;సెట్ చేయలేదు&gt;"</string>
-    <string name="display_name_summary" msgid="6749135030093260358">"&lt;వినియోగదారు పేరు మాదిరిగానే&gt;"</string>
-    <string name="optional_summary" msgid="620379377865437488">"&lt;ఐచ్ఛికం&gt;"</string>
-    <string name="advanced_settings_show" msgid="2318728080037568529">"▷ అన్నీ చూపడానికి తాకండి"</string>
-    <string name="advanced_settings_hide" msgid="6200816937370652083">"▽ అన్నీ దాచడానికి తాకండి"</string>
-    <string name="all_empty_alert" msgid="6085603517610199098">"కొత్త SIP ఖాతా వివరాలను నమోదు చేయండి."</string>
-    <string name="empty_alert" msgid="3693655518612836718">"<xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> అవసరం కావున ఖాళీగా వదిలిపెట్టకూడదు."</string>
-    <string name="not_a_valid_port" msgid="3664668836663491376">"పోర్ట్ సంఖ్య 1000 మరియు 65534 మధ్య ఉండాలి."</string>
-    <string name="no_internet_available" msgid="161720645084325479">"SIP కాల్ చేయడానికి, ముందుగా మీ ఇంటర్నెట్ కనెక్షన్‌ను తనిఖీ చేయండి."</string>
-    <string name="no_wifi_available" msgid="1179092018692306312">"మీరు SIP కాల్స్‌ చేయడం కోసం Wi-Fi నెట్‌వర్క్‌కు కనెక్ట్ అవ్వడం అవసరం (వైర్‌లెస్ &amp; నెట్‌వర్క్ సెట్టింగ్‌లను ఉపయోగించండి)."</string>
-    <string name="no_voip" msgid="3366395789297981738">"SIP కాలింగ్‌కి మద్దతు లేదు"</string>
-    <string name="sip_system_decide" msgid="197230378376326430">"1205664026446156265"</string>
-    <string name="sip_always_send_keepalive" msgid="4986533673960084769">"ఎల్లప్పుడూ పంపు"</string>
-    <string name="sip_connection_service_label" msgid="8796284274240316006">"అంతర్నిర్మిత SIP కాలింగ్"</string>
-</resources>
diff --git a/sip/res/values-th/strings.xml b/sip/res/values-th/strings.xml
deleted file mode 100644
index aebf5cf..0000000
--- a/sip/res/values-th/strings.xml
+++ /dev/null
@@ -1,80 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2014 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7452587325305604702">"การตั้งค่า SIP"</string>
-    <string name="sip_accounts" msgid="7297896885665783239">"บัญชี SIP"</string>
-    <string name="sip_accounts_title" msgid="3061686404598143943">"บัญชี"</string>
-    <string name="sip_receive_calls" msgid="3403644006618369349">"รับสายเรียกเข้า"</string>
-    <string name="sip_receive_calls_summary" msgid="5306603671778761443">"ใช้แบตเตอรี่มากขึ้น"</string>
-    <string name="sip_call_options_title" msgid="5027066677561068192">"ใช้การโทรผ่าน SIP"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6663105297927456484">"ใช้การโทรผ่าน SIP (Wi-Fi เท่านั้น)"</string>
-    <string name="sip_call_options_entry_1" msgid="4722647332760934261">"สำหรับทุกสายเมื่อเครือข่ายข้อมูลใช้งานได้"</string>
-    <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="sip_account_list" msgid="2596262496233721769">"บัญชี SIP"</string>
-    <string name="saving_account" msgid="3390358043846687266">"กำลังบันทึกบัญชี…"</string>
-    <string name="removing_account" msgid="1544132880414780408">"กำลังนำบัญชีออก…"</string>
-    <string name="sip_menu_save" msgid="4377112554203123060">"บันทึก"</string>
-    <string name="sip_menu_discard" msgid="1883166691772895243">"ยกเลิก"</string>
-    <string name="alert_dialog_close" msgid="1734746505531110706">"ปิดโปรไฟล์"</string>
-    <string name="alert_dialog_ok" msgid="7806760618798687406">"ตกลง"</string>
-    <string name="close_profile" msgid="3756064641769751774">"ปิด"</string>
-    <string name="registration_status_checking_status" msgid="884179594507591180">"กำลังตรวจสอบสถานะ..."</string>
-    <string name="registration_status_registering" msgid="7986331597809521791">"กำลังลงทะเบียน…"</string>
-    <string name="registration_status_still_trying" msgid="7178623685868766282">"กำลังพยายาม…"</string>
-    <string name="registration_status_not_receiving" msgid="3873074208531938401">"ไม่รับสาย"</string>
-    <string name="registration_status_no_data" msgid="2987064560116584121">"การลงทะเบียนบัญชีหยุดทำงานเนื่องจากไม่มีการเชื่อมต่ออินเทอร์เน็ต"</string>
-    <string name="registration_status_no_wifi_data" msgid="685470618241482948">"การลงทะเบียนบัญชีหยุดทำงานเนื่องจากไม่มีการเชื่อมต่อ Wi-Fi"</string>
-    <string name="registration_status_not_running" msgid="6236403137652262659">"การลงทะเบียนบัญชีไม่สำเร็จ"</string>
-    <string name="registration_status_done" msgid="6787397199273357721">"รับสาย"</string>
-    <string name="registration_status_failed_try_later" msgid="7855389184910312091">"การลงทะเบียนบัญชีไม่สำเร็จ: (<xliff:g id="REGISTRATION_ERROR_MESSAGE">%s</xliff:g>) จะลองอีกครั้งในภายหลัง"</string>
-    <string name="registration_status_invalid_credentials" msgid="8896714049938660777">"การลงทะเบียนบัญชีไม่สำเร็จ: ชื่อผู้ใช้หรือรหัสผ่านไม่ถูกต้อง"</string>
-    <string name="registration_status_server_unreachable" msgid="3832339558868965604">"การลงทะเบียนบัญชีไม่สำเร็จ: ตรวจสอบชื่อเซิร์ฟเวอร์"</string>
-    <string name="third_party_account_summary" msgid="5918779106950859167">"แอป <xliff:g id="ACCOUNT_OWNER">%s</xliff:g> กำลังใช้บัญชีนี้อยู่ในขณะนี้"</string>
-    <string name="sip_edit_title" msgid="7438891546610820307">"รายละเอียดบัญชี SIP"</string>
-    <string name="sip_edit_new_title" msgid="8394790068979636381">"รายละเอียดบัญชี SIP"</string>
-    <string name="domain_address_title" msgid="8238078615181248579">"เซิร์ฟเวอร์"</string>
-    <string name="username_title" msgid="298416796886107970">"ชื่อผู้ใช้"</string>
-    <string name="password_title" msgid="8035579335591959021">"รหัสผ่าน"</string>
-    <string name="display_name_title" msgid="3730105783656830160">"ชื่อที่แสดง"</string>
-    <string name="proxy_address_title" msgid="4120361943254795287">"ที่อยู่พร็อกซีขาออก"</string>
-    <string name="port_title" msgid="1703586046264385110">"หมายเลขพอร์ต"</string>
-    <string name="transport_title" msgid="1661659138226029178">"ประเภทการส่งผ่านข้อมูล"</string>
-    <string name="send_keepalive_title" msgid="5319788151608946049">"ส่งแบบ keep-alive"</string>
-    <string name="advanced_settings" msgid="2704644977548662872">"การตั้งค่าที่ไม่บังคับ"</string>
-    <string name="auth_username_title" msgid="9002505242616662698">"ชื่อผู้ใช้สำหรับตรวจสอบสิทธิ์"</string>
-    <string name="auth_username_summary" msgid="6346313945275377230">"ชื่อผู้ใช้ที่ใช้ในการตรวจสอบสิทธิ์"</string>
-    <string name="default_preference_summary_username" msgid="8788114717555599222">"&lt;ไม่ได้ตั้งค่า&gt;"</string>
-    <string name="default_preference_summary_password" msgid="3695366978153175549">"&lt;ไม่ได้ตั้งค่า&gt;"</string>
-    <string name="default_preference_summary_domain_address" msgid="443247296785732364">"&lt;ไม่ได้ตั้งค่า&gt;"</string>
-    <string name="display_name_summary" msgid="6749135030093260358">"&lt;เหมือนกับชื่อผู้ใช้&gt;"</string>
-    <string name="optional_summary" msgid="620379377865437488">"&lt;ไม่บังคับ&gt;"</string>
-    <string name="advanced_settings_show" msgid="2318728080037568529">"▷ แตะเพื่อแสดงทั้งหมด"</string>
-    <string name="advanced_settings_hide" msgid="6200816937370652083">"▽ แตะเพื่อซ่อนทั้งหมด"</string>
-    <string name="all_empty_alert" msgid="6085603517610199098">"ป้อนรายละเอียดของบัญชี SIP ใหม่"</string>
-    <string name="empty_alert" msgid="3693655518612836718">"ต้องระบุ <xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> และไม่สามารถปล่อยว่างได้"</string>
-    <string name="not_a_valid_port" msgid="3664668836663491376">"หมายเลขพอร์ตควรอยู่ระหว่าง 1000 ถึง 65534"</string>
-    <string name="no_internet_available" msgid="161720645084325479">"หากต้องการโทรผ่าน SIP ให้ตรวจสอบการเชื่อมต่ออินเทอร์เน็ตก่อน"</string>
-    <string name="no_wifi_available" msgid="1179092018692306312">"คุณต้องเชื่อมต่อเครือข่าย Wi-Fi เพื่อโทรผ่าน SIP (ใช้การตั้งค่าระบบไร้สายและเครือข่าย)"</string>
-    <string name="no_voip" msgid="3366395789297981738">"ไม่สนับสนุนการโทรผ่าน SIP"</string>
-    <string name="sip_system_decide" msgid="197230378376326430">"อัตโนมัติ"</string>
-    <string name="sip_always_send_keepalive" msgid="4986533673960084769">"ส่งเสมอ"</string>
-    <string name="sip_connection_service_label" msgid="8796284274240316006">"การโทรผ่าน SIP ในตัว"</string>
-</resources>
diff --git a/sip/res/values-tl/strings.xml b/sip/res/values-tl/strings.xml
deleted file mode 100644
index 06adaa7..0000000
--- a/sip/res/values-tl/strings.xml
+++ /dev/null
@@ -1,80 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2014 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7452587325305604702">"Mga setting ng SIP"</string>
-    <string name="sip_accounts" msgid="7297896885665783239">"Mga SIP account"</string>
-    <string name="sip_accounts_title" msgid="3061686404598143943">"Mga Account"</string>
-    <string name="sip_receive_calls" msgid="3403644006618369349">"Tumanggap ng papasok na tawag"</string>
-    <string name="sip_receive_calls_summary" msgid="5306603671778761443">"Gumagamit ng higit na baterya"</string>
-    <string name="sip_call_options_title" msgid="5027066677561068192">"Gamitin ang SIP calling"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6663105297927456484">"Gamitin ang SIP calling (Wi-Fi lang)"</string>
-    <string name="sip_call_options_entry_1" msgid="4722647332760934261">"Para sa lahat ng mga tawag kapag available ang data network"</string>
-    <string name="sip_call_options_entry_2" msgid="7338504256051655013">"Para lang sa mga tawag sa pamamagitan ng SIP"</string>
-    <string name="sip_call_options_wifi_only_entry_1" msgid="922329055414010991">"Para sa lahat ng tawag"</string>
-    <string name="add_sip_account" msgid="5754758646745144384">"Magdagdag ng account"</string>
-    <string name="remove_sip_account" msgid="8272617403399636513">"Alisin ang account"</string>
-    <string name="sip_account_list" msgid="2596262496233721769">"Mga SIP account"</string>
-    <string name="saving_account" msgid="3390358043846687266">"Sine-save ang account..."</string>
-    <string name="removing_account" msgid="1544132880414780408">"Inaalis ang account..."</string>
-    <string name="sip_menu_save" msgid="4377112554203123060">"I-save"</string>
-    <string name="sip_menu_discard" msgid="1883166691772895243">"I-discard"</string>
-    <string name="alert_dialog_close" msgid="1734746505531110706">"Isara ang profile"</string>
-    <string name="alert_dialog_ok" msgid="7806760618798687406">"Ayos"</string>
-    <string name="close_profile" msgid="3756064641769751774">"Isara"</string>
-    <string name="registration_status_checking_status" msgid="884179594507591180">"Tinitingnan ang status..."</string>
-    <string name="registration_status_registering" msgid="7986331597809521791">"Inirerehistro..."</string>
-    <string name="registration_status_still_trying" msgid="7178623685868766282">"Sinusubukan pa rin..."</string>
-    <string name="registration_status_not_receiving" msgid="3873074208531938401">"Hindi tumatanggap ng mga tawag."</string>
-    <string name="registration_status_no_data" msgid="2987064560116584121">"Nahinto ang pagpaparehistro ng account dahil walang koneksyon sa Internet."</string>
-    <string name="registration_status_no_wifi_data" msgid="685470618241482948">"Nahinto ang pagpaparehistro ng account dahil walang koneksyon sa Wi-Fi."</string>
-    <string name="registration_status_not_running" msgid="6236403137652262659">"Hindi matagumpay ang pagpaparehistro ng account."</string>
-    <string name="registration_status_done" msgid="6787397199273357721">"Tumatanggap ng mga tawag."</string>
-    <string name="registration_status_failed_try_later" msgid="7855389184910312091">"Hindi matagumpay ang pagpaparehistro ng account: Susubukan ng (<xliff:g id="REGISTRATION_ERROR_MESSAGE">%s</xliff:g>); sa ibang pagkakataon"</string>
-    <string name="registration_status_invalid_credentials" msgid="8896714049938660777">"Hindi matagumpay ang pagpaparehistro ng account: Maling username o password."</string>
-    <string name="registration_status_server_unreachable" msgid="3832339558868965604">"Nabigo ang pagpaparehistro ng account: Tingnan ang pangalan ng server."</string>
-    <string name="third_party_account_summary" msgid="5918779106950859167">"Kasalukuyang ginagamit ang account na ito ng app ng <xliff:g id="ACCOUNT_OWNER">%s</xliff:g>."</string>
-    <string name="sip_edit_title" msgid="7438891546610820307">"Detalye ng SIP account"</string>
-    <string name="sip_edit_new_title" msgid="8394790068979636381">"Detalye ng SIP account"</string>
-    <string name="domain_address_title" msgid="8238078615181248579">"Server"</string>
-    <string name="username_title" msgid="298416796886107970">"Username"</string>
-    <string name="password_title" msgid="8035579335591959021">"Password"</string>
-    <string name="display_name_title" msgid="3730105783656830160">"Display name"</string>
-    <string name="proxy_address_title" msgid="4120361943254795287">"Address ng outbound proxy"</string>
-    <string name="port_title" msgid="1703586046264385110">"Numero ng port"</string>
-    <string name="transport_title" msgid="1661659138226029178">"Uri ng paglilipat"</string>
-    <string name="send_keepalive_title" msgid="5319788151608946049">"Magpadala ng keep-alive"</string>
-    <string name="advanced_settings" msgid="2704644977548662872">"Mga opsyonal na setting"</string>
-    <string name="auth_username_title" msgid="9002505242616662698">"Username sa pag-authenticate"</string>
-    <string name="auth_username_summary" msgid="6346313945275377230">"Ginamit ang username para sa pag-authenticate"</string>
-    <string name="default_preference_summary_username" msgid="8788114717555599222">"&lt;Hindi nakatakda&gt;"</string>
-    <string name="default_preference_summary_password" msgid="3695366978153175549">"&lt;Hindi nakatakda&gt;"</string>
-    <string name="default_preference_summary_domain_address" msgid="443247296785732364">"&lt;Hindi nakatakda&gt;"</string>
-    <string name="display_name_summary" msgid="6749135030093260358">"&lt;Katulad ng username&gt;"</string>
-    <string name="optional_summary" msgid="620379377865437488">"&lt;Opsyonal&gt;"</string>
-    <string name="advanced_settings_show" msgid="2318728080037568529">"▷ Pindutin upang ipakita lahat"</string>
-    <string name="advanced_settings_hide" msgid="6200816937370652083">"▽ Pindutin upang itago lahat"</string>
-    <string name="all_empty_alert" msgid="6085603517610199098">"Ilagay ang mga detalye ng bagong SIP account."</string>
-    <string name="empty_alert" msgid="3693655518612836718">"Kinakailangan ang <xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> at hindi maaaring iwanang blangko."</string>
-    <string name="not_a_valid_port" msgid="3664668836663491376">"Dapat na nasa pagitan ng 1000 at 65534 ang numero ng port."</string>
-    <string name="no_internet_available" msgid="161720645084325479">"Upang tumawag sa pamamagitan ng SIP, suriin muna ang iyong koneksyon sa Internet."</string>
-    <string name="no_wifi_available" msgid="1179092018692306312">"Kailangang nakakonekta ka sa isang Wi-Fi network para sa mga tawag sa pamamagitan ng SIP (gamitin ang mga setting ng Wireless at Network)."</string>
-    <string name="no_voip" msgid="3366395789297981738">"Hindi sinusuportahan ang pagtawag sa pamamagitan ng SIP"</string>
-    <string name="sip_system_decide" msgid="197230378376326430">"Awtomatiko"</string>
-    <string name="sip_always_send_keepalive" msgid="4986533673960084769">"Palaging ipadala"</string>
-    <string name="sip_connection_service_label" msgid="8796284274240316006">"Built-in na pagtawag sa pamamagitan ng SIP"</string>
-</resources>
diff --git a/sip/res/values-tr/strings.xml b/sip/res/values-tr/strings.xml
deleted file mode 100644
index de1e672..0000000
--- a/sip/res/values-tr/strings.xml
+++ /dev/null
@@ -1,80 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2014 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7452587325305604702">"SIP ayarları"</string>
-    <string name="sip_accounts" msgid="7297896885665783239">"SIP hesapları"</string>
-    <string name="sip_accounts_title" msgid="3061686404598143943">"Hesaplar"</string>
-    <string name="sip_receive_calls" msgid="3403644006618369349">"Gelen çağrıları al"</string>
-    <string name="sip_receive_calls_summary" msgid="5306603671778761443">"Daha fazla pil kullanır"</string>
-    <string name="sip_call_options_title" msgid="5027066677561068192">"SIP aramayı kullan"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6663105297927456484">"SIP aramayı kullan (sadece Kablosuz)"</string>
-    <string name="sip_call_options_entry_1" msgid="4722647332760934261">"Veri ağı uygun durumdayken yapılan tüm çağrılar için"</string>
-    <string name="sip_call_options_entry_2" msgid="7338504256051655013">"Sadece SIP çağrıları için"</string>
-    <string name="sip_call_options_wifi_only_entry_1" msgid="922329055414010991">"Tüm çağrılar için"</string>
-    <string name="add_sip_account" msgid="5754758646745144384">"Hesap ekle"</string>
-    <string name="remove_sip_account" msgid="8272617403399636513">"Hesabı kaldır"</string>
-    <string name="sip_account_list" msgid="2596262496233721769">"SIP hesapları"</string>
-    <string name="saving_account" msgid="3390358043846687266">"Hesap kaydediliyor…"</string>
-    <string name="removing_account" msgid="1544132880414780408">"Hesap kaldırılıyor…"</string>
-    <string name="sip_menu_save" msgid="4377112554203123060">"Kaydet"</string>
-    <string name="sip_menu_discard" msgid="1883166691772895243">"Kapat"</string>
-    <string name="alert_dialog_close" msgid="1734746505531110706">"Profili kapat"</string>
-    <string name="alert_dialog_ok" msgid="7806760618798687406">"Tamam"</string>
-    <string name="close_profile" msgid="3756064641769751774">"Kapat"</string>
-    <string name="registration_status_checking_status" msgid="884179594507591180">"Durum denetleniyor..."</string>
-    <string name="registration_status_registering" msgid="7986331597809521791">"Kayıt olunuyor…"</string>
-    <string name="registration_status_still_trying" msgid="7178623685868766282">"Denemeye devam ediliyor…"</string>
-    <string name="registration_status_not_receiving" msgid="3873074208531938401">"Çağrıları almıyor."</string>
-    <string name="registration_status_no_data" msgid="2987064560116584121">"İnternet bağlantısı olmadığı için hesap kaydı durduruldu."</string>
-    <string name="registration_status_no_wifi_data" msgid="685470618241482948">"Kablosuz bağlantı olmadığı için hesap kaydı durduruldu."</string>
-    <string name="registration_status_not_running" msgid="6236403137652262659">"Hesap kaydı başarısız oldu."</string>
-    <string name="registration_status_done" msgid="6787397199273357721">"Çağrıları alıyor."</string>
-    <string name="registration_status_failed_try_later" msgid="7855389184910312091">"Hesap kaydı başarısız oldu: (<xliff:g id="REGISTRATION_ERROR_MESSAGE">%s</xliff:g>). Daha sonra tekrar denenecek"</string>
-    <string name="registration_status_invalid_credentials" msgid="8896714049938660777">"Hesap kaydı başarısız oldu: Yanlış kullanıcı adı veya şifre."</string>
-    <string name="registration_status_server_unreachable" msgid="3832339558868965604">"Hesap kaydı başarısız oldu: Sunucu adını kontrol edin."</string>
-    <string name="third_party_account_summary" msgid="5918779106950859167">"Bu hesap şu anda <xliff:g id="ACCOUNT_OWNER">%s</xliff:g> uygulaması tarafından kullanılıyor."</string>
-    <string name="sip_edit_title" msgid="7438891546610820307">"SIP hesabı"</string>
-    <string name="sip_edit_new_title" msgid="8394790068979636381">"SIP hesabı"</string>
-    <string name="domain_address_title" msgid="8238078615181248579">"Sunucu"</string>
-    <string name="username_title" msgid="298416796886107970">"Kullanıcı adı"</string>
-    <string name="password_title" msgid="8035579335591959021">"Şifre"</string>
-    <string name="display_name_title" msgid="3730105783656830160">"Görüntülenen ad"</string>
-    <string name="proxy_address_title" msgid="4120361943254795287">"Giden proxy adresi"</string>
-    <string name="port_title" msgid="1703586046264385110">"Bağlantı noktası numarası"</string>
-    <string name="transport_title" msgid="1661659138226029178">"Aktarım türü"</string>
-    <string name="send_keepalive_title" msgid="5319788151608946049">"Canlı tutma mesajı gönder"</string>
-    <string name="advanced_settings" msgid="2704644977548662872">"İsteğe bağlı ayarlar"</string>
-    <string name="auth_username_title" msgid="9002505242616662698">"Kimlik doğrulama kullanıcı adı"</string>
-    <string name="auth_username_summary" msgid="6346313945275377230">"Kimlik doğrulama için kullanılan kullanıcı adı"</string>
-    <string name="default_preference_summary_username" msgid="8788114717555599222">"&lt;Ayarlanmadı&gt;"</string>
-    <string name="default_preference_summary_password" msgid="3695366978153175549">"&lt;Ayarlanmadı&gt;"</string>
-    <string name="default_preference_summary_domain_address" msgid="443247296785732364">"&lt;Ayarlanmadı&gt;"</string>
-    <string name="display_name_summary" msgid="6749135030093260358">"&lt;Kullanıcı adıyla aynı&gt;"</string>
-    <string name="optional_summary" msgid="620379377865437488">"&lt;İsteğe bağlı&gt;"</string>
-    <string name="advanced_settings_show" msgid="2318728080037568529">"▷ Tümünü görmek için dokunun"</string>
-    <string name="advanced_settings_hide" msgid="6200816937370652083">"▽ Tümünü gizlemek için dokunun"</string>
-    <string name="all_empty_alert" msgid="6085603517610199098">"Yeni SIP hesabının ayrıntılarını girin"</string>
-    <string name="empty_alert" msgid="3693655518612836718">"<xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> gerekli, bu alan boş bırakılamaz."</string>
-    <string name="not_a_valid_port" msgid="3664668836663491376">"Bağlantı noktası numarası 1000 ile 65534 arasında olmalıdır."</string>
-    <string name="no_internet_available" msgid="161720645084325479">"Bir SIP çağrısı yapmak için önce İnternet bağlantınızı kontrol edin."</string>
-    <string name="no_wifi_available" msgid="1179092018692306312">"SIP çağrıları için bir Kablosuz ağa bağlı olmanız (Kablosuz ve Ağ ayarlarını kullanın) gerekir."</string>
-    <string name="no_voip" msgid="3366395789297981738">"SIP çağrısı desteklenmiyor"</string>
-    <string name="sip_system_decide" msgid="197230378376326430">"Otomatik"</string>
-    <string name="sip_always_send_keepalive" msgid="4986533673960084769">"Her zaman gönder"</string>
-    <string name="sip_connection_service_label" msgid="8796284274240316006">"Yerleşik SIP arama"</string>
-</resources>
diff --git a/sip/res/values-uk/strings.xml b/sip/res/values-uk/strings.xml
deleted file mode 100644
index 8b87214..0000000
--- a/sip/res/values-uk/strings.xml
+++ /dev/null
@@ -1,80 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2014 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7452587325305604702">"Налаштування SIP"</string>
-    <string name="sip_accounts" msgid="7297896885665783239">"Облікові записи SIP"</string>
-    <string name="sip_accounts_title" msgid="3061686404598143943">"Облікові записи"</string>
-    <string name="sip_receive_calls" msgid="3403644006618369349">"Отримувати вхідні дзвінки"</string>
-    <string name="sip_receive_calls_summary" msgid="5306603671778761443">"Використовує більше заряду акумулятора"</string>
-    <string name="sip_call_options_title" msgid="5027066677561068192">"Виклик через SIP"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6663105297927456484">"Виклики через SIP (лише Wi-Fi)"</string>
-    <string name="sip_call_options_entry_1" msgid="4722647332760934261">"Для всіх дзвінків, коли доступна мережа передавання даних"</string>
-    <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="sip_account_list" msgid="2596262496233721769">"Облікові записи SIP"</string>
-    <string name="saving_account" msgid="3390358043846687266">"Зберігання облікового запису…"</string>
-    <string name="removing_account" msgid="1544132880414780408">"Видалення облікового запису…"</string>
-    <string name="sip_menu_save" msgid="4377112554203123060">"Зберегти"</string>
-    <string name="sip_menu_discard" msgid="1883166691772895243">"Відхилити"</string>
-    <string name="alert_dialog_close" msgid="1734746505531110706">"Закрити профіль"</string>
-    <string name="alert_dialog_ok" msgid="7806760618798687406">"ОК"</string>
-    <string name="close_profile" msgid="3756064641769751774">"Закрити"</string>
-    <string name="registration_status_checking_status" msgid="884179594507591180">"Перевірка статусу…"</string>
-    <string name="registration_status_registering" msgid="7986331597809521791">"Реєстрація…"</string>
-    <string name="registration_status_still_trying" msgid="7178623685868766282">"Повторна спроба…"</string>
-    <string name="registration_status_not_receiving" msgid="3873074208531938401">"Дзвінки не надходять."</string>
-    <string name="registration_status_no_data" msgid="2987064560116584121">"Реєстрацію облікового запису зупинено, оскільки немає з’єднання з Інтернетом."</string>
-    <string name="registration_status_no_wifi_data" msgid="685470618241482948">"Реєстрацію облікового запису зупинено, оскільки немає з’єднання з мережею Wi-Fi."</string>
-    <string name="registration_status_not_running" msgid="6236403137652262659">"Обліковий запис не зареєстровано."</string>
-    <string name="registration_status_done" msgid="6787397199273357721">"Дзвінки надходять."</string>
-    <string name="registration_status_failed_try_later" msgid="7855389184910312091">"Обліковий запис не зареєстровано (<xliff:g id="REGISTRATION_ERROR_MESSAGE">%s</xliff:g>). Ми спробуємо пізніше"</string>
-    <string name="registration_status_invalid_credentials" msgid="8896714049938660777">"Обліковий запис не зареєстровано: неправильне ім’я користувача чи пароль."</string>
-    <string name="registration_status_server_unreachable" msgid="3832339558868965604">"Обліковий запис не зареєстровано: перевірте ім’я сервера."</string>
-    <string name="third_party_account_summary" msgid="5918779106950859167">"Зараз цей обліковий запис використовується додатком <xliff:g id="ACCOUNT_OWNER">%s</xliff:g>."</string>
-    <string name="sip_edit_title" msgid="7438891546610820307">"Обл. запис SIP"</string>
-    <string name="sip_edit_new_title" msgid="8394790068979636381">"Обл. запис SIP"</string>
-    <string name="domain_address_title" msgid="8238078615181248579">"Сервер"</string>
-    <string name="username_title" msgid="298416796886107970">"Ім’я користувача"</string>
-    <string name="password_title" msgid="8035579335591959021">"Пароль"</string>
-    <string name="display_name_title" msgid="3730105783656830160">"Видиме ім’я"</string>
-    <string name="proxy_address_title" msgid="4120361943254795287">"Адреса проксі-сервера вихідних дзвінків"</string>
-    <string name="port_title" msgid="1703586046264385110">"Номер порту"</string>
-    <string name="transport_title" msgid="1661659138226029178">"Тип транспортування"</string>
-    <string name="send_keepalive_title" msgid="5319788151608946049">"Надсилання для підтримки з’єднання"</string>
-    <string name="advanced_settings" msgid="2704644977548662872">"Додаткові налаштування"</string>
-    <string name="auth_username_title" msgid="9002505242616662698">"Ім’я користувача для автентифікації"</string>
-    <string name="auth_username_summary" msgid="6346313945275377230">"Ім’я користувача, використане для автентифікації"</string>
-    <string name="default_preference_summary_username" msgid="8788114717555599222">"&lt;Не введено&gt;"</string>
-    <string name="default_preference_summary_password" msgid="3695366978153175549">"&lt;Не введено&gt;"</string>
-    <string name="default_preference_summary_domain_address" msgid="443247296785732364">"&lt;Не введено&gt;"</string>
-    <string name="display_name_summary" msgid="6749135030093260358">"&lt;Те саме, що й ім’я користувача&gt;"</string>
-    <string name="optional_summary" msgid="620379377865437488">"&lt;Додатково&gt;"</string>
-    <string name="advanced_settings_show" msgid="2318728080037568529">"▷ Торкніться, щоб показати все"</string>
-    <string name="advanced_settings_hide" msgid="6200816937370652083">"▽ Торкніться, щоб сховати все"</string>
-    <string name="all_empty_alert" msgid="6085603517610199098">"Введіть деталі нового облікового запису SIP."</string>
-    <string name="empty_alert" msgid="3693655518612836718">"Поле <xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> обов’язкове. Воно не може бути порожнім."</string>
-    <string name="not_a_valid_port" msgid="3664668836663491376">"Введіть номер порту між 1000 та 65534."</string>
-    <string name="no_internet_available" msgid="161720645084325479">"Щоб здійснити виклик SIP, спершу перевірте своє з’єднання з Інтернетом."</string>
-    <string name="no_wifi_available" msgid="1179092018692306312">"Для викликів SIP потрібне з’єднання з мережею Wi-Fi (скористайтеся налаштуваннями бездротового зв’язку та мереж)."</string>
-    <string name="no_voip" msgid="3366395789297981738">"Виклики SIP не підтримуються"</string>
-    <string name="sip_system_decide" msgid="197230378376326430">"Автоматично"</string>
-    <string name="sip_always_send_keepalive" msgid="4986533673960084769">"Завжди надсилати"</string>
-    <string name="sip_connection_service_label" msgid="8796284274240316006">"Вбудована функція викликів SIP"</string>
-</resources>
diff --git a/sip/res/values-ur/strings.xml b/sip/res/values-ur/strings.xml
deleted file mode 100644
index 54a5f64..0000000
--- a/sip/res/values-ur/strings.xml
+++ /dev/null
@@ -1,80 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2014 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7452587325305604702">"‏SIP ترتیبات"</string>
-    <string name="sip_accounts" msgid="7297896885665783239">"‏SIP اکاؤنٹس"</string>
-    <string name="sip_accounts_title" msgid="3061686404598143943">"اکاؤنٹس"</string>
-    <string name="sip_receive_calls" msgid="3403644006618369349">"اِن کمنگ کالیں وصول کریں"</string>
-    <string name="sip_receive_calls_summary" msgid="5306603671778761443">"مزید بیٹری استعمال کرتا ہے"</string>
-    <string name="sip_call_options_title" msgid="5027066677561068192">"‏SIP کالنگ استعمال کریں"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6663105297927456484">"‏SIP کالنگ استعمال کریں (صرف Wi-Fi)"</string>
-    <string name="sip_call_options_entry_1" msgid="4722647332760934261">"ڈیٹا نیٹ ورک دستیاب ہونے پر سبھی کالوں کیلئے"</string>
-    <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="sip_account_list" msgid="2596262496233721769">"‏SIP اکاؤنٹس"</string>
-    <string name="saving_account" msgid="3390358043846687266">"اکاؤنٹ محفوظ کیا جا رہا ہے…"</string>
-    <string name="removing_account" msgid="1544132880414780408">"اکاؤنٹ ہٹایا جا رہا ہے…"</string>
-    <string name="sip_menu_save" msgid="4377112554203123060">"محفوظ کریں"</string>
-    <string name="sip_menu_discard" msgid="1883166691772895243">"مسترد کریں"</string>
-    <string name="alert_dialog_close" msgid="1734746505531110706">"پروفائل بند کریں"</string>
-    <string name="alert_dialog_ok" msgid="7806760618798687406">"ٹھیک ہے"</string>
-    <string name="close_profile" msgid="3756064641769751774">"بند کریں"</string>
-    <string name="registration_status_checking_status" msgid="884179594507591180">"اسٹیٹس کو چیک کیا جا رہا ہے…"</string>
-    <string name="registration_status_registering" msgid="7986331597809521791">"رجسٹر کیا جا رہا ہے…"</string>
-    <string name="registration_status_still_trying" msgid="7178623685868766282">"اب بھی کوشش کی جا رہی ہے…"</string>
-    <string name="registration_status_not_receiving" msgid="3873074208531938401">"کالیں موصول نہیں ہو رہی ہیں۔"</string>
-    <string name="registration_status_no_data" msgid="2987064560116584121">"اکاؤنٹ رجسٹریشن رک گیا کیونکہ کوئی انٹرنیٹ کنکشن نہیں ہے۔"</string>
-    <string name="registration_status_no_wifi_data" msgid="685470618241482948">"‏اکاؤنٹ رجسٹریشن رک گیا کیونکہ کوئی Wi-Fi کنکشن نہیں ہے۔"</string>
-    <string name="registration_status_not_running" msgid="6236403137652262659">"اکاؤنٹ رجسٹریشن ناکام ہوگیا۔"</string>
-    <string name="registration_status_done" msgid="6787397199273357721">"کالز موصول ہو رہی ہیں۔"</string>
-    <string name="registration_status_failed_try_later" msgid="7855389184910312091">"اکاؤنٹ رجسٹریشن ناکام ہوگیا: (<xliff:g id="REGISTRATION_ERROR_MESSAGE">%s</xliff:g>)؛ بعد میں کوشش کرے گا"</string>
-    <string name="registration_status_invalid_credentials" msgid="8896714049938660777">"اکاؤنٹ رجسٹریشن ناکام ہوگیا: غلط صارف نام یا پاس ورڈ۔"</string>
-    <string name="registration_status_server_unreachable" msgid="3832339558868965604">"اکاؤنٹ رجسٹریشن ناکام ہوگیا: سرور کا نام چیک کریں۔"</string>
-    <string name="third_party_account_summary" msgid="5918779106950859167">"یہ اکاؤنٹ فی الحال <xliff:g id="ACCOUNT_OWNER">%s</xliff:g> ایپ کے ذریعہ زیر استعمال ہے۔"</string>
-    <string name="sip_edit_title" msgid="7438891546610820307">"‏SIP اکاؤنٹ تفصیلات"</string>
-    <string name="sip_edit_new_title" msgid="8394790068979636381">"‏SIP اکاؤنٹ کی تفصیلات"</string>
-    <string name="domain_address_title" msgid="8238078615181248579">"سرور"</string>
-    <string name="username_title" msgid="298416796886107970">"صارف نام"</string>
-    <string name="password_title" msgid="8035579335591959021">"پاس ورڈ"</string>
-    <string name="display_name_title" msgid="3730105783656830160">"ڈسپلے نام"</string>
-    <string name="proxy_address_title" msgid="4120361943254795287">"آؤٹ باؤنڈ پراکسی پتہ"</string>
-    <string name="port_title" msgid="1703586046264385110">"پورٹ نمبر"</string>
-    <string name="transport_title" msgid="1661659138226029178">"ٹرانسپورٹ کی قسم"</string>
-    <string name="send_keepalive_title" msgid="5319788151608946049">"‏keep-alive بھیجیں"</string>
-    <string name="advanced_settings" msgid="2704644977548662872">"اختیاری ترتیبات"</string>
-    <string name="auth_username_title" msgid="9002505242616662698">"توثیق کیلئے صارف نام"</string>
-    <string name="auth_username_summary" msgid="6346313945275377230">"توثیق کیلئے استعمال کردہ صارف نام"</string>
-    <string name="default_preference_summary_username" msgid="8788114717555599222">"‏‎&lt;سیٹ نہیں ہے&gt;‎"</string>
-    <string name="default_preference_summary_password" msgid="3695366978153175549">"‏‎&lt;سیٹ نہیں ہے&gt;‎"</string>
-    <string name="default_preference_summary_domain_address" msgid="443247296785732364">"‏‎&lt;سیٹ نہیں ہے&gt;‎"</string>
-    <string name="display_name_summary" msgid="6749135030093260358">"‏&lt;بالکل وہی جو صارف نام ہے&gt;"</string>
-    <string name="optional_summary" msgid="620379377865437488">"‏&lt;اختیاری&gt;"</string>
-    <string name="advanced_settings_show" msgid="2318728080037568529">"◁ سبھی کو دکھانے کیلئے ٹچ کریں"</string>
-    <string name="advanced_settings_hide" msgid="6200816937370652083">"▽ سبھی کو چھپانے کیلئے ٹچ کریں"</string>
-    <string name="all_empty_alert" msgid="6085603517610199098">"‏نئے SIP اکاؤنٹ کی تفصیلات شامل کریں۔"</string>
-    <string name="empty_alert" msgid="3693655518612836718">"<xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> مطلوب ہے اور خالی نہیں چھوڑا جا سکتا۔"</string>
-    <string name="not_a_valid_port" msgid="3664668836663491376">"پورٹ نمبر 1000 اور 65534 کے اندر ہونا چاہیے۔"</string>
-    <string name="no_internet_available" msgid="161720645084325479">"‏ایک SIP کال کرنے کیلئے، پہلے اپنا انٹرنیٹ کنکشن چیک کریں۔"</string>
-    <string name="no_wifi_available" msgid="1179092018692306312">"‏SIP کالز کیلئے آپ کو ایک Wi-Fi نیٹ ورک سے منسلک ہونے کی ضرورت ہے (وائرلیس اور نیٹ ورک ترتیبات استعمال کریں)۔"</string>
-    <string name="no_voip" msgid="3366395789297981738">"‏SIP کالنگ تعاون یافتہ نہیں ہے"</string>
-    <string name="sip_system_decide" msgid="197230378376326430">"خودکار"</string>
-    <string name="sip_always_send_keepalive" msgid="4986533673960084769">"ہمیشہ بھیجیں"</string>
-    <string name="sip_connection_service_label" msgid="8796284274240316006">"‏پہلے سے شامل SIP کالنگ"</string>
-</resources>
diff --git a/sip/res/values-uz/strings.xml b/sip/res/values-uz/strings.xml
deleted file mode 100644
index f951de2..0000000
--- a/sip/res/values-uz/strings.xml
+++ /dev/null
@@ -1,80 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2014 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7452587325305604702">"SIP sozlamalari"</string>
-    <string name="sip_accounts" msgid="7297896885665783239">"SIP hisoblari"</string>
-    <string name="sip_accounts_title" msgid="3061686404598143943">"Hisoblar"</string>
-    <string name="sip_receive_calls" msgid="3403644006618369349">"Kiruvchi chaqiruvlarni qabul qilish"</string>
-    <string name="sip_receive_calls_summary" msgid="5306603671778761443">"Batareya quvvati tezroq sarflanadi"</string>
-    <string name="sip_call_options_title" msgid="5027066677561068192">"SIP orqali chaqiruv"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6663105297927456484">"SIP-qo‘ng‘iroq (faqat Wi-Fi)"</string>
-    <string name="sip_call_options_entry_1" msgid="4722647332760934261">"Tarmoq trafigi mavjud bo‘lganda barcha qo‘ng‘iroqlar uchun"</string>
-    <string name="sip_call_options_entry_2" msgid="7338504256051655013">"Faqat SIP chaqiruvlar uchun"</string>
-    <string name="sip_call_options_wifi_only_entry_1" msgid="922329055414010991">"Barcha chaqiruvlar uchun"</string>
-    <string name="add_sip_account" msgid="5754758646745144384">"Hisob kiritish"</string>
-    <string name="remove_sip_account" msgid="8272617403399636513">"Hisobni olib tashlash"</string>
-    <string name="sip_account_list" msgid="2596262496233721769">"SIP hisoblari"</string>
-    <string name="saving_account" msgid="3390358043846687266">"Hisob saqlanmoqda…"</string>
-    <string name="removing_account" msgid="1544132880414780408">"Hisob o‘chirilmoqda…"</string>
-    <string name="sip_menu_save" msgid="4377112554203123060">"Saqlash"</string>
-    <string name="sip_menu_discard" msgid="1883166691772895243">"Bekor qilish"</string>
-    <string name="alert_dialog_close" msgid="1734746505531110706">"Profilni yoping"</string>
-    <string name="alert_dialog_ok" msgid="7806760618798687406">"OK"</string>
-    <string name="close_profile" msgid="3756064641769751774">"Yopish"</string>
-    <string name="registration_status_checking_status" msgid="884179594507591180">"Holati tekshirilmoqda…"</string>
-    <string name="registration_status_registering" msgid="7986331597809521791">"Ro‘yxatdan o‘tkazilmoqda…"</string>
-    <string name="registration_status_still_trying" msgid="7178623685868766282">"Hanuzgacha urinilmoqda…"</string>
-    <string name="registration_status_not_receiving" msgid="3873074208531938401">"Qo‘ng‘iroqlar qabul qilinmayapti."</string>
-    <string name="registration_status_no_data" msgid="2987064560116584121">"Hisobni ro‘yxatdan o‘tkazish to‘xtatildi, chunki internetga ulanilmagan."</string>
-    <string name="registration_status_no_wifi_data" msgid="685470618241482948">"Hisobni ro‘yxatdan o‘tkazish to‘xtatildi, chunki Wi-Fi ulanishlari mavjud emas."</string>
-    <string name="registration_status_not_running" msgid="6236403137652262659">"Hisobni ro‘yxatdan o‘tkazish muvaffaqiyatsiz tugadi."</string>
-    <string name="registration_status_done" msgid="6787397199273357721">"Qabul qilingan qo‘ng‘iroqlar."</string>
-    <string name="registration_status_failed_try_later" msgid="7855389184910312091">"Hisobni ro‘yxatdan o‘tkazish amalga oshmadi: (<xliff:g id="REGISTRATION_ERROR_MESSAGE">%s</xliff:g>); keyinroq urinib ko‘riladi"</string>
-    <string name="registration_status_invalid_credentials" msgid="8896714049938660777">"Hisobni ro‘yxatdan o‘tkazish amalga oshmadi: foydalanuvchi nomi yoki parol xato."</string>
-    <string name="registration_status_server_unreachable" msgid="3832339558868965604">"Hisobni ro‘yxatdan o‘tkazish muvaffaqiyatsiz tugadi: server nomini tekshirib ko‘ring."</string>
-    <string name="third_party_account_summary" msgid="5918779106950859167">"Ushbu hisob <xliff:g id="ACCOUNT_OWNER">%s</xliff:g> ilovasi tomonidan hozirda foydalanilmoqda."</string>
-    <string name="sip_edit_title" msgid="7438891546610820307">"SIP hisobi"</string>
-    <string name="sip_edit_new_title" msgid="8394790068979636381">"SIP hisobi"</string>
-    <string name="domain_address_title" msgid="8238078615181248579">"Server"</string>
-    <string name="username_title" msgid="298416796886107970">"Foydalanuvchi nomi"</string>
-    <string name="password_title" msgid="8035579335591959021">"Parol"</string>
-    <string name="display_name_title" msgid="3730105783656830160">"Chiqadigan ism"</string>
-    <string name="proxy_address_title" msgid="4120361943254795287">"Proksi-server manzili"</string>
-    <string name="port_title" msgid="1703586046264385110">"Port raqami"</string>
-    <string name="transport_title" msgid="1661659138226029178">"Protokol"</string>
-    <string name="send_keepalive_title" msgid="5319788151608946049">"Keep-alive elementini yuborish"</string>
-    <string name="advanced_settings" msgid="2704644977548662872">"Kengaytirilgan sozlamalar"</string>
-    <string name="auth_username_title" msgid="9002505242616662698">"Foydalanuvchi nomi"</string>
-    <string name="auth_username_summary" msgid="6346313945275377230">"Haqiqiylikni tekshirish uchun foydalanuvchi nomi"</string>
-    <string name="default_preference_summary_username" msgid="8788114717555599222">"&lt;Kiritilmagan&gt;"</string>
-    <string name="default_preference_summary_password" msgid="3695366978153175549">"&lt;Kiritilmagan&gt;"</string>
-    <string name="default_preference_summary_domain_address" msgid="443247296785732364">"&lt;Kiritilmagan&gt;"</string>
-    <string name="display_name_summary" msgid="6749135030093260358">"&lt;Foydalanuvchi nomi bilan bir xil&gt;"</string>
-    <string name="optional_summary" msgid="620379377865437488">"&lt;Ixtiyoriy&gt;"</string>
-    <string name="advanced_settings_show" msgid="2318728080037568529">"▷ Hammasini ochish uchun bosing"</string>
-    <string name="advanced_settings_hide" msgid="6200816937370652083">"▽ Berkitish uchun bu yerga bosing"</string>
-    <string name="all_empty_alert" msgid="6085603517610199098">"Yangi SIP hisobingiz ma’lumotlarini kiriting."</string>
-    <string name="empty_alert" msgid="3693655518612836718">"<xliff:g id="INPUT_FIELD_NAME">%s</xliff:g>ni to‘ldirish shart, u bo‘sh qolmasligi kerak."</string>
-    <string name="not_a_valid_port" msgid="3664668836663491376">"Port raqami 1000 va 65534 oralig‘ida bo‘lishi kerak."</string>
-    <string name="no_internet_available" msgid="161720645084325479">"SIP qo‘ng‘irog‘ini amalga oshirish uchun avval internetga ulanishni tekshiring."</string>
-    <string name="no_wifi_available" msgid="1179092018692306312">"SIP qo‘ng‘iroqlarini amalga oshirish uchun biror Wi-Fi tarmog‘iga ulanish lozim (“Simsiz tarmoqlar” sozlamalaridan foydalaning)"</string>
-    <string name="no_voip" msgid="3366395789297981738">"SIP qo‘ng‘iroqlari qo‘llab-quvvatlanmaydi"</string>
-    <string name="sip_system_decide" msgid="197230378376326430">"Avtomatik"</string>
-    <string name="sip_always_send_keepalive" msgid="4986533673960084769">"Doim yuborilsin"</string>
-    <string name="sip_connection_service_label" msgid="8796284274240316006">"Ichki o‘rnatilgan SIP qo‘ng‘iroqlari"</string>
-</resources>
diff --git a/sip/res/values-vi/strings.xml b/sip/res/values-vi/strings.xml
deleted file mode 100644
index aa6b326..0000000
--- a/sip/res/values-vi/strings.xml
+++ /dev/null
@@ -1,80 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2014 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7452587325305604702">"Cài đặt SIP"</string>
-    <string name="sip_accounts" msgid="7297896885665783239">"Tài khoản SIP"</string>
-    <string name="sip_accounts_title" msgid="3061686404598143943">"Tài khoản"</string>
-    <string name="sip_receive_calls" msgid="3403644006618369349">"Nhận cuộc gọi đến"</string>
-    <string name="sip_receive_calls_summary" msgid="5306603671778761443">"Tốn pin hơn"</string>
-    <string name="sip_call_options_title" msgid="5027066677561068192">"Sử dụng tính năng gọi điện SIP"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6663105297927456484">"Sử dụng tính năng gọi điện SIP (chỉ Wi-Fi)"</string>
-    <string name="sip_call_options_entry_1" msgid="4722647332760934261">"Dành cho tất cả các cuộc gọi khi mạng dữ liệu sẵn có"</string>
-    <string name="sip_call_options_entry_2" msgid="7338504256051655013">"Chỉ cho cuộc gọi SIP"</string>
-    <string name="sip_call_options_wifi_only_entry_1" msgid="922329055414010991">"Cho tất cả cuộc gọi"</string>
-    <string name="add_sip_account" msgid="5754758646745144384">"Thêm tài khoản"</string>
-    <string name="remove_sip_account" msgid="8272617403399636513">"Xóa tài khoản"</string>
-    <string name="sip_account_list" msgid="2596262496233721769">"Tài khoản SIP"</string>
-    <string name="saving_account" msgid="3390358043846687266">"Đang lưu tài khoản..."</string>
-    <string name="removing_account" msgid="1544132880414780408">"Đang xóa tài khoản..."</string>
-    <string name="sip_menu_save" msgid="4377112554203123060">"Lưu"</string>
-    <string name="sip_menu_discard" msgid="1883166691772895243">"Hủy"</string>
-    <string name="alert_dialog_close" msgid="1734746505531110706">"Đóng tiểu sử"</string>
-    <string name="alert_dialog_ok" msgid="7806760618798687406">"OK"</string>
-    <string name="close_profile" msgid="3756064641769751774">"Đóng"</string>
-    <string name="registration_status_checking_status" msgid="884179594507591180">"Đang kiểm tra trạng thái..."</string>
-    <string name="registration_status_registering" msgid="7986331597809521791">"Đang đăng ký…"</string>
-    <string name="registration_status_still_trying" msgid="7178623685868766282">"Vẫn đang thử..."</string>
-    <string name="registration_status_not_receiving" msgid="3873074208531938401">"Đang không nhận cuộc gọi."</string>
-    <string name="registration_status_no_data" msgid="2987064560116584121">"Đăng ký tài khoản đã dừng do không có kết nối Internet."</string>
-    <string name="registration_status_no_wifi_data" msgid="685470618241482948">"Đăng ký tài khoản đã dừng do không có kết nối Wi-Fi."</string>
-    <string name="registration_status_not_running" msgid="6236403137652262659">"Đăng ký tài khoản không thành công."</string>
-    <string name="registration_status_done" msgid="6787397199273357721">"Đang nhận cuộc gọi."</string>
-    <string name="registration_status_failed_try_later" msgid="7855389184910312091">"Đăng ký tài khoản không thành công: (<xliff:g id="REGISTRATION_ERROR_MESSAGE">%s</xliff:g>); sẽ thử sau"</string>
-    <string name="registration_status_invalid_credentials" msgid="8896714049938660777">"Đăng ký tài khoản không thành công: Tên người dùng hoặc mật khẩu không chính xác."</string>
-    <string name="registration_status_server_unreachable" msgid="3832339558868965604">"Đăng ký tài khoản không thành công: Kiểm tra tên máy chủ."</string>
-    <string name="third_party_account_summary" msgid="5918779106950859167">"Tài khoản này hiện đang được ứng dụng <xliff:g id="ACCOUNT_OWNER">%s</xliff:g> sử dụng."</string>
-    <string name="sip_edit_title" msgid="7438891546610820307">"Chi tiết tài khoản SIP"</string>
-    <string name="sip_edit_new_title" msgid="8394790068979636381">"Chi tiết tài khoản SIP"</string>
-    <string name="domain_address_title" msgid="8238078615181248579">"Máy chủ"</string>
-    <string name="username_title" msgid="298416796886107970">"Tên người dùng"</string>
-    <string name="password_title" msgid="8035579335591959021">"Mật khẩu"</string>
-    <string name="display_name_title" msgid="3730105783656830160">"Tên hiển thị"</string>
-    <string name="proxy_address_title" msgid="4120361943254795287">"Địa chỉ proxy đi"</string>
-    <string name="port_title" msgid="1703586046264385110">"Số cổng"</string>
-    <string name="transport_title" msgid="1661659138226029178">"Loại truyền tải"</string>
-    <string name="send_keepalive_title" msgid="5319788151608946049">"Gửi gói tin giữ kết nối"</string>
-    <string name="advanced_settings" msgid="2704644977548662872">"Các mục cài đặt khác"</string>
-    <string name="auth_username_title" msgid="9002505242616662698">"Tên người dùng xác thực"</string>
-    <string name="auth_username_summary" msgid="6346313945275377230">"Tên người dùng để xác thực"</string>
-    <string name="default_preference_summary_username" msgid="8788114717555599222">"&lt;Chưa đặt&gt;"</string>
-    <string name="default_preference_summary_password" msgid="3695366978153175549">"&lt;Chưa đặt&gt;"</string>
-    <string name="default_preference_summary_domain_address" msgid="443247296785732364">"&lt;Chưa đặt&gt;"</string>
-    <string name="display_name_summary" msgid="6749135030093260358">"&lt;Giống như tên người dùng&gt;"</string>
-    <string name="optional_summary" msgid="620379377865437488">"&lt;Tùy chọn&gt;"</string>
-    <string name="advanced_settings_show" msgid="2318728080037568529">"▷ Chạm để hiển thị tất cả"</string>
-    <string name="advanced_settings_hide" msgid="6200816937370652083">"▽ Chạm để ẩn tất cả"</string>
-    <string name="all_empty_alert" msgid="6085603517610199098">"Nhập chi tiết của tài khoản SIP mới."</string>
-    <string name="empty_alert" msgid="3693655518612836718">"<xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> là bắt buộc và không thể để trống."</string>
-    <string name="not_a_valid_port" msgid="3664668836663491376">"Số cổng phải trong khoảng từ 1000 đến 65534."</string>
-    <string name="no_internet_available" msgid="161720645084325479">"Để thực hiện cuộc gọi SIP, trước tiên hãy kiểm tra kết nối Internet của bạn."</string>
-    <string name="no_wifi_available" msgid="1179092018692306312">"Bạn cần kết nối với mạng Wi-Fi cho cuộc gọi SIP (hãy sử dụng cài đặt Không dây và Mạng)."</string>
-    <string name="no_voip" msgid="3366395789297981738">"Tính năng gọi điện SIP không được hỗ trợ"</string>
-    <string name="sip_system_decide" msgid="197230378376326430">"Tự động"</string>
-    <string name="sip_always_send_keepalive" msgid="4986533673960084769">"Luôn luôn gửi"</string>
-    <string name="sip_connection_service_label" msgid="8796284274240316006">"Tính năng gọi điện SIP tích hợp sẵn"</string>
-</resources>
diff --git a/sip/res/values-zh-rCN/strings.xml b/sip/res/values-zh-rCN/strings.xml
deleted file mode 100644
index 98b55e9..0000000
--- a/sip/res/values-zh-rCN/strings.xml
+++ /dev/null
@@ -1,80 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2014 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7452587325305604702">"SIP 设置"</string>
-    <string name="sip_accounts" msgid="7297896885665783239">"SIP 帐号"</string>
-    <string name="sip_accounts_title" msgid="3061686404598143943">"帐号"</string>
-    <string name="sip_receive_calls" msgid="3403644006618369349">"接听来电"</string>
-    <string name="sip_receive_calls_summary" msgid="5306603671778761443">"会消耗更多电量"</string>
-    <string name="sip_call_options_title" msgid="5027066677561068192">"使用 SIP 通话功能"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6663105297927456484">"使用 SIP 通话功能(仅通过 WLAN 网络)"</string>
-    <string name="sip_call_options_entry_1" msgid="4722647332760934261">"所有通话(数据网络可用时)"</string>
-    <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="sip_account_list" msgid="2596262496233721769">"互联网电话帐号"</string>
-    <string name="saving_account" msgid="3390358043846687266">"正在保存帐号…"</string>
-    <string name="removing_account" msgid="1544132880414780408">"正在移除帐号…"</string>
-    <string name="sip_menu_save" msgid="4377112554203123060">"保存"</string>
-    <string name="sip_menu_discard" msgid="1883166691772895243">"舍弃"</string>
-    <string name="alert_dialog_close" msgid="1734746505531110706">"关闭个人资料"</string>
-    <string name="alert_dialog_ok" msgid="7806760618798687406">"确定"</string>
-    <string name="close_profile" msgid="3756064641769751774">"关闭"</string>
-    <string name="registration_status_checking_status" msgid="884179594507591180">"正在检查状态…"</string>
-    <string name="registration_status_registering" msgid="7986331597809521791">"正在注册…"</string>
-    <string name="registration_status_still_trying" msgid="7178623685868766282">"仍在尝试…"</string>
-    <string name="registration_status_not_receiving" msgid="3873074208531938401">"无法接听电话。"</string>
-    <string name="registration_status_no_data" msgid="2987064560116584121">"由于未连接到互联网,帐号注册已停止。"</string>
-    <string name="registration_status_no_wifi_data" msgid="685470618241482948">"由于未连接到WLAN网络,帐号注册已停止。"</string>
-    <string name="registration_status_not_running" msgid="6236403137652262659">"帐号注册失败。"</string>
-    <string name="registration_status_done" msgid="6787397199273357721">"可以接听电话。"</string>
-    <string name="registration_status_failed_try_later" msgid="7855389184910312091">"帐号注册失败:(<xliff:g id="REGISTRATION_ERROR_MESSAGE">%s</xliff:g>);系统会在稍后重试"</string>
-    <string name="registration_status_invalid_credentials" msgid="8896714049938660777">"帐号注册失败:用户名或密码有误。"</string>
-    <string name="registration_status_server_unreachable" msgid="3832339558868965604">"帐号注册失败:请检查服务器名称。"</string>
-    <string name="third_party_account_summary" msgid="5918779106950859167">"<xliff:g id="ACCOUNT_OWNER">%s</xliff:g>应用目前正在使用此帐号。"</string>
-    <string name="sip_edit_title" msgid="7438891546610820307">"SIP 帐号详情"</string>
-    <string name="sip_edit_new_title" msgid="8394790068979636381">"SIP 帐号详情"</string>
-    <string name="domain_address_title" msgid="8238078615181248579">"服务器"</string>
-    <string name="username_title" msgid="298416796886107970">"用户名"</string>
-    <string name="password_title" msgid="8035579335591959021">"密码"</string>
-    <string name="display_name_title" msgid="3730105783656830160">"显示名称"</string>
-    <string name="proxy_address_title" msgid="4120361943254795287">"出站代理地址"</string>
-    <string name="port_title" msgid="1703586046264385110">"端口号"</string>
-    <string name="transport_title" msgid="1661659138226029178">"传输类型"</string>
-    <string name="send_keepalive_title" msgid="5319788151608946049">"发送持续连接消息"</string>
-    <string name="advanced_settings" msgid="2704644977548662872">"可选设置"</string>
-    <string name="auth_username_title" msgid="9002505242616662698">"身份验证用户名"</string>
-    <string name="auth_username_summary" msgid="6346313945275377230">"用于验证身份的用户名"</string>
-    <string name="default_preference_summary_username" msgid="8788114717555599222">"&lt;未设置&gt;"</string>
-    <string name="default_preference_summary_password" msgid="3695366978153175549">"&lt;未设置&gt;"</string>
-    <string name="default_preference_summary_domain_address" msgid="443247296785732364">"&lt;未设置&gt;"</string>
-    <string name="display_name_summary" msgid="6749135030093260358">"&lt;与用户名相同&gt;"</string>
-    <string name="optional_summary" msgid="620379377865437488">"&lt;可选&gt;"</string>
-    <string name="advanced_settings_show" msgid="2318728080037568529">"▷ 点按可全部显示"</string>
-    <string name="advanced_settings_hide" msgid="6200816937370652083">"▽ 点按可全部隐藏"</string>
-    <string name="all_empty_alert" msgid="6085603517610199098">"请输入新 SIP 帐号的详情。"</string>
-    <string name="empty_alert" msgid="3693655518612836718">"“<xliff:g id="INPUT_FIELD_NAME">%s</xliff:g>”属于必填字段,不得留空。"</string>
-    <string name="not_a_valid_port" msgid="3664668836663491376">"端口号应在1000与65534之间。"</string>
-    <string name="no_internet_available" msgid="161720645084325479">"要拨打 SIP 电话,请先检查您的互联网连接。"</string>
-    <string name="no_wifi_available" msgid="1179092018692306312">"您需要连接到 WLAN 网络才能拨打 SIP 电话(使用“无线和网络”设置)。"</string>
-    <string name="no_voip" msgid="3366395789297981738">"不支持 SIP 通话功能"</string>
-    <string name="sip_system_decide" msgid="197230378376326430">"自动"</string>
-    <string name="sip_always_send_keepalive" msgid="4986533673960084769">"一律发送"</string>
-    <string name="sip_connection_service_label" msgid="8796284274240316006">"内置 SIP 通话功能"</string>
-</resources>
diff --git a/sip/res/values-zh-rHK/strings.xml b/sip/res/values-zh-rHK/strings.xml
deleted file mode 100644
index 23b3d19..0000000
--- a/sip/res/values-zh-rHK/strings.xml
+++ /dev/null
@@ -1,80 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2014 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7452587325305604702">"SIP 設定"</string>
-    <string name="sip_accounts" msgid="7297896885665783239">"SIP 帳戶"</string>
-    <string name="sip_accounts_title" msgid="3061686404598143943">"帳戶"</string>
-    <string name="sip_receive_calls" msgid="3403644006618369349">"接聽來電"</string>
-    <string name="sip_receive_calls_summary" msgid="5306603671778761443">"耗電量更多"</string>
-    <string name="sip_call_options_title" msgid="5027066677561068192">"使用 SIP 通話"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6663105297927456484">"使用 SIP 通話 (只限 Wi-Fi)"</string>
-    <string name="sip_call_options_entry_1" msgid="4722647332760934261">"數據網絡可用時,適用於所有通話"</string>
-    <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="sip_account_list" msgid="2596262496233721769">"SIP 帳戶"</string>
-    <string name="saving_account" msgid="3390358043846687266">"正在儲存帳戶…"</string>
-    <string name="removing_account" msgid="1544132880414780408">"正在移除帳戶…"</string>
-    <string name="sip_menu_save" msgid="4377112554203123060">"儲存"</string>
-    <string name="sip_menu_discard" msgid="1883166691772895243">"捨棄"</string>
-    <string name="alert_dialog_close" msgid="1734746505531110706">"關閉個人檔案"</string>
-    <string name="alert_dialog_ok" msgid="7806760618798687406">"確定"</string>
-    <string name="close_profile" msgid="3756064641769751774">"關閉"</string>
-    <string name="registration_status_checking_status" msgid="884179594507591180">"正在檢查狀態…"</string>
-    <string name="registration_status_registering" msgid="7986331597809521791">"正在註冊…"</string>
-    <string name="registration_status_still_trying" msgid="7178623685868766282">"仍在嘗試…"</string>
-    <string name="registration_status_not_receiving" msgid="3873074208531938401">"無法接聽電話。"</string>
-    <string name="registration_status_no_data" msgid="2987064560116584121">"由於未連結互聯網,帳戶的註冊已停止。"</string>
-    <string name="registration_status_no_wifi_data" msgid="685470618241482948">"由於未連結 Wi-Fi 網絡,帳戶的註冊已停止。"</string>
-    <string name="registration_status_not_running" msgid="6236403137652262659">"帳戶註冊失敗。"</string>
-    <string name="registration_status_done" msgid="6787397199273357721">"可以接聽電話。"</string>
-    <string name="registration_status_failed_try_later" msgid="7855389184910312091">"帳戶註冊失敗:(<xliff:g id="REGISTRATION_ERROR_MESSAGE">%s</xliff:g>);將於稍後重試"</string>
-    <string name="registration_status_invalid_credentials" msgid="8896714049938660777">"帳戶註冊失敗:使用者名稱或密碼不正確。"</string>
-    <string name="registration_status_server_unreachable" msgid="3832339558868965604">"帳戶註冊失敗:請查看伺服器名稱。"</string>
-    <string name="third_party_account_summary" msgid="5918779106950859167">"這個帳戶目前正由 <xliff:g id="ACCOUNT_OWNER">%s</xliff:g> 應用程式使用。"</string>
-    <string name="sip_edit_title" msgid="7438891546610820307">"SIP 帳戶詳情"</string>
-    <string name="sip_edit_new_title" msgid="8394790068979636381">"SIP 帳戶詳情"</string>
-    <string name="domain_address_title" msgid="8238078615181248579">"伺服器"</string>
-    <string name="username_title" msgid="298416796886107970">"使用者名稱"</string>
-    <string name="password_title" msgid="8035579335591959021">"密碼"</string>
-    <string name="display_name_title" msgid="3730105783656830160">"顯示名稱"</string>
-    <string name="proxy_address_title" msgid="4120361943254795287">"對外代理伺服器位址"</string>
-    <string name="port_title" msgid="1703586046264385110">"通訊埠號碼"</string>
-    <string name="transport_title" msgid="1661659138226029178">"傳輸類型"</string>
-    <string name="send_keepalive_title" msgid="5319788151608946049">"傳送 keep-alive"</string>
-    <string name="advanced_settings" msgid="2704644977548662872">"可選設定"</string>
-    <string name="auth_username_title" msgid="9002505242616662698">"驗證使用者名稱"</string>
-    <string name="auth_username_summary" msgid="6346313945275377230">"用於驗證的使用者名稱"</string>
-    <string name="default_preference_summary_username" msgid="8788114717555599222">"&lt;未設定&gt;"</string>
-    <string name="default_preference_summary_password" msgid="3695366978153175549">"&lt;未設定&gt;"</string>
-    <string name="default_preference_summary_domain_address" msgid="443247296785732364">"&lt;未設定&gt;"</string>
-    <string name="display_name_summary" msgid="6749135030093260358">"&lt;與使用者名稱相同&gt;"</string>
-    <string name="optional_summary" msgid="620379377865437488">"&lt;非必填&gt;"</string>
-    <string name="advanced_settings_show" msgid="2318728080037568529">"▷ 輕觸即可全部顯示"</string>
-    <string name="advanced_settings_hide" msgid="6200816937370652083">"▽ 輕觸即可全部隱藏"</string>
-    <string name="all_empty_alert" msgid="6085603517610199098">"請輸入新 SIP 帳戶的詳細資料。"</string>
-    <string name="empty_alert" msgid="3693655518612836718">"「<xliff:g id="INPUT_FIELD_NAME">%s</xliff:g>」為必填欄位,不得留空。"</string>
-    <string name="not_a_valid_port" msgid="3664668836663491376">"通訊埠號碼必須介乎 1000 至 65534 之間。"</string>
-    <string name="no_internet_available" msgid="161720645084325479">"如要進行 SIP 通話,請先檢查您的互聯網連線。"</string>
-    <string name="no_wifi_available" msgid="1179092018692306312">"如要進行 SIP 通話,您需要連線至 Wi-Fi 網絡 (使用無線和網絡設定)。"</string>
-    <string name="no_voip" msgid="3366395789297981738">"不支援 SIP 通話"</string>
-    <string name="sip_system_decide" msgid="197230378376326430">"自動"</string>
-    <string name="sip_always_send_keepalive" msgid="4986533673960084769">"永遠傳送"</string>
-    <string name="sip_connection_service_label" msgid="8796284274240316006">"內置 SIP 通話"</string>
-</resources>
diff --git a/sip/res/values-zh-rTW/strings.xml b/sip/res/values-zh-rTW/strings.xml
deleted file mode 100644
index ab828ea..0000000
--- a/sip/res/values-zh-rTW/strings.xml
+++ /dev/null
@@ -1,80 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2014 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7452587325305604702">"SIP 設定"</string>
-    <string name="sip_accounts" msgid="7297896885665783239">"SIP 帳戶"</string>
-    <string name="sip_accounts_title" msgid="3061686404598143943">"帳戶"</string>
-    <string name="sip_receive_calls" msgid="3403644006618369349">"接聽來電"</string>
-    <string name="sip_receive_calls_summary" msgid="5306603671778761443">"耗電量會因此增加"</string>
-    <string name="sip_call_options_title" msgid="5027066677561068192">"使用 SIP 通話功能"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6663105297927456484">"使用 SIP 通話功能 (僅限 Wi-Fi)"</string>
-    <string name="sip_call_options_entry_1" msgid="4722647332760934261">"數據網路可用時,適用於所有通話"</string>
-    <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="sip_account_list" msgid="2596262496233721769">"SIP 帳戶"</string>
-    <string name="saving_account" msgid="3390358043846687266">"正在儲存帳戶…"</string>
-    <string name="removing_account" msgid="1544132880414780408">"正在移除帳戶…"</string>
-    <string name="sip_menu_save" msgid="4377112554203123060">"儲存"</string>
-    <string name="sip_menu_discard" msgid="1883166691772895243">"捨棄"</string>
-    <string name="alert_dialog_close" msgid="1734746505531110706">"關閉個人資料"</string>
-    <string name="alert_dialog_ok" msgid="7806760618798687406">"確定"</string>
-    <string name="close_profile" msgid="3756064641769751774">"關閉"</string>
-    <string name="registration_status_checking_status" msgid="884179594507591180">"正在檢查狀態..."</string>
-    <string name="registration_status_registering" msgid="7986331597809521791">"註冊中…"</string>
-    <string name="registration_status_still_trying" msgid="7178623685868766282">"仍在嘗試中…"</string>
-    <string name="registration_status_not_receiving" msgid="3873074208531938401">"無法接聽電話。"</string>
-    <string name="registration_status_no_data" msgid="2987064560116584121">"因沒有網際網路連線,帳戶的註冊作業已停止。"</string>
-    <string name="registration_status_no_wifi_data" msgid="685470618241482948">"找不到 Wi-Fi 連線,帳戶註冊作業已中止。"</string>
-    <string name="registration_status_not_running" msgid="6236403137652262659">"帳戶註冊失敗。"</string>
-    <string name="registration_status_done" msgid="6787397199273357721">"可以接聽電話。"</string>
-    <string name="registration_status_failed_try_later" msgid="7855389184910312091">"帳戶註冊失敗:(<xliff:g id="REGISTRATION_ERROR_MESSAGE">%s</xliff:g>);將於稍後重試"</string>
-    <string name="registration_status_invalid_credentials" msgid="8896714049938660777">"帳戶註冊失敗:使用者名稱或密碼不正確。"</string>
-    <string name="registration_status_server_unreachable" msgid="3832339558868965604">"帳戶註冊失敗:請檢查伺服器名稱。"</string>
-    <string name="third_party_account_summary" msgid="5918779106950859167">"這個帳戶目前由 <xliff:g id="ACCOUNT_OWNER">%s</xliff:g> 應用程式使用中。"</string>
-    <string name="sip_edit_title" msgid="7438891546610820307">"SIP 帳戶詳細資料"</string>
-    <string name="sip_edit_new_title" msgid="8394790068979636381">"SIP 帳戶詳細資料"</string>
-    <string name="domain_address_title" msgid="8238078615181248579">"伺服器"</string>
-    <string name="username_title" msgid="298416796886107970">"使用者名稱"</string>
-    <string name="password_title" msgid="8035579335591959021">"密碼"</string>
-    <string name="display_name_title" msgid="3730105783656830160">"顯示名稱"</string>
-    <string name="proxy_address_title" msgid="4120361943254795287">"連出 Proxy 位址"</string>
-    <string name="port_title" msgid="1703586046264385110">"通訊埠號碼"</string>
-    <string name="transport_title" msgid="1661659138226029178">"傳輸類型"</string>
-    <string name="send_keepalive_title" msgid="5319788151608946049">"傳送 keep-alive"</string>
-    <string name="advanced_settings" msgid="2704644977548662872">"選用設定"</string>
-    <string name="auth_username_title" msgid="9002505242616662698">"驗證使用者名稱"</string>
-    <string name="auth_username_summary" msgid="6346313945275377230">"用於進行驗證的使用者名稱"</string>
-    <string name="default_preference_summary_username" msgid="8788114717555599222">"&lt;未設定&gt;"</string>
-    <string name="default_preference_summary_password" msgid="3695366978153175549">"&lt;未設定&gt;"</string>
-    <string name="default_preference_summary_domain_address" msgid="443247296785732364">"&lt;未設定&gt;"</string>
-    <string name="display_name_summary" msgid="6749135030093260358">"&lt;與使用者名稱相同&gt;"</string>
-    <string name="optional_summary" msgid="620379377865437488">"&lt;選用&gt;"</string>
-    <string name="advanced_settings_show" msgid="2318728080037568529">"▷ 輕觸即可全部顯示"</string>
-    <string name="advanced_settings_hide" msgid="6200816937370652083">"▽ 輕觸即可全部隱藏"</string>
-    <string name="all_empty_alert" msgid="6085603517610199098">"請輸入新 SIP 帳戶的詳細資料。"</string>
-    <string name="empty_alert" msgid="3693655518612836718">"「<xliff:g id="INPUT_FIELD_NAME">%s</xliff:g>」為必填欄位,不得留空。"</string>
-    <string name="not_a_valid_port" msgid="3664668836663491376">"通訊埠號碼必須介於 1000 到 65534 間。"</string>
-    <string name="no_internet_available" msgid="161720645084325479">"如要撥打 SIP 電話,請先檢查您的網際網路連線。"</string>
-    <string name="no_wifi_available" msgid="1179092018692306312">"您必須連上 Wi-Fi 網路,才能使用 SIP 通話功能 (透過「無線與網路」設定)。"</string>
-    <string name="no_voip" msgid="3366395789297981738">"不支援 SIP 通話功能"</string>
-    <string name="sip_system_decide" msgid="197230378376326430">"自動"</string>
-    <string name="sip_always_send_keepalive" msgid="4986533673960084769">"一律傳送"</string>
-    <string name="sip_connection_service_label" msgid="8796284274240316006">"內建 SIP 通話功能"</string>
-</resources>
diff --git a/sip/res/values-zu/strings.xml b/sip/res/values-zu/strings.xml
deleted file mode 100644
index c4ee307..0000000
--- a/sip/res/values-zu/strings.xml
+++ /dev/null
@@ -1,80 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2014 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7452587325305604702">"Izilungiselelo ze-SIP"</string>
-    <string name="sip_accounts" msgid="7297896885665783239">"Ama-akhawunti we-SIP"</string>
-    <string name="sip_accounts_title" msgid="3061686404598143943">"Ama-akhawunti"</string>
-    <string name="sip_receive_calls" msgid="3403644006618369349">"Thola amakholi angenayo"</string>
-    <string name="sip_receive_calls_summary" msgid="5306603671778761443">"Isebenzisa impilo yebhethri eningi"</string>
-    <string name="sip_call_options_title" msgid="5027066677561068192">"Sebenzisa ukushaya kwe-SIP"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6663105297927456484">"Sebenzisa ukushaya kwe-SIP (i-Wi-Fi kuphela)"</string>
-    <string name="sip_call_options_entry_1" msgid="4722647332760934261">"Yawo wonke amakholi uma inethiwekhi yedatha itholakala"</string>
-    <string name="sip_call_options_entry_2" msgid="7338504256051655013">"Ngeyamakholi we-SIP kuphela"</string>
-    <string name="sip_call_options_wifi_only_entry_1" msgid="922329055414010991">"Yamakholi wonke"</string>
-    <string name="add_sip_account" msgid="5754758646745144384">"Engeza i-akhawunti"</string>
-    <string name="remove_sip_account" msgid="8272617403399636513">"Susa i-akhawunti"</string>
-    <string name="sip_account_list" msgid="2596262496233721769">"Ama-akhawunti we-SIP"</string>
-    <string name="saving_account" msgid="3390358043846687266">"Ilondoloza i-akhawunti…"</string>
-    <string name="removing_account" msgid="1544132880414780408">"Isusa i-akhawunti…"</string>
-    <string name="sip_menu_save" msgid="4377112554203123060">"Londoloza"</string>
-    <string name="sip_menu_discard" msgid="1883166691772895243">"Lahla"</string>
-    <string name="alert_dialog_close" msgid="1734746505531110706">"Vala iphrofayela"</string>
-    <string name="alert_dialog_ok" msgid="7806760618798687406">"KULUNGILE"</string>
-    <string name="close_profile" msgid="3756064641769751774">"Vala"</string>
-    <string name="registration_status_checking_status" msgid="884179594507591180">"Ihlola isimo..."</string>
-    <string name="registration_status_registering" msgid="7986331597809521791">"Iyabhalisa…"</string>
-    <string name="registration_status_still_trying" msgid="7178623685868766282">"Isazama namanje…"</string>
-    <string name="registration_status_not_receiving" msgid="3873074208531938401">"Ayamukeli amakholi."</string>
-    <string name="registration_status_no_data" msgid="2987064560116584121">"Ukubhaliswa kwe-akhawunti kumisiwe ngoba akukho ukuxhumeka kwe-inthanethi."</string>
-    <string name="registration_status_no_wifi_data" msgid="685470618241482948">"Ukubhaliswa kwe-akhawunti kumisiwe ngoba akukho ukuxhumeka kwe-Wi-Fi."</string>
-    <string name="registration_status_not_running" msgid="6236403137652262659">"Ukubhaliswa kwe-akhawunti akuphumelelanga."</string>
-    <string name="registration_status_done" msgid="6787397199273357721">"Yamukela amakholi."</string>
-    <string name="registration_status_failed_try_later" msgid="7855389184910312091">"Ukubhaliswa kwe-akhawunti akuphumelelanga: (<xliff:g id="REGISTRATION_ERROR_MESSAGE">%s</xliff:g>; izozama emuva kwesikhathi"</string>
-    <string name="registration_status_invalid_credentials" msgid="8896714049938660777">"Ukubhaliswa kwe-akhawunti akuphumelelanga: Igama lomsebenzisi elingalungile noma iphasiwedi."</string>
-    <string name="registration_status_server_unreachable" msgid="3832339558868965604">"Ukubhaliswa kwe-akhawunti akuphumelelanga: Hlola igama leseva."</string>
-    <string name="third_party_account_summary" msgid="5918779106950859167">"Le akhawunti okwamanje isetshenziswa nguhlelo lokusebenza lwe-<xliff:g id="ACCOUNT_OWNER">%s</xliff:g>."</string>
-    <string name="sip_edit_title" msgid="7438891546610820307">"Imininingwane ye-akhawunti ye-SIP"</string>
-    <string name="sip_edit_new_title" msgid="8394790068979636381">"Imininingwane ye-akhawunti ye-SIP"</string>
-    <string name="domain_address_title" msgid="8238078615181248579">"Iseva"</string>
-    <string name="username_title" msgid="298416796886107970">"Igama lomsebenzisi"</string>
-    <string name="password_title" msgid="8035579335591959021">"Iphasiwedi"</string>
-    <string name="display_name_title" msgid="3730105783656830160">"Bonisa igama"</string>
-    <string name="proxy_address_title" msgid="4120361943254795287">"Ikheli lommeleli ophumayo"</string>
-    <string name="port_title" msgid="1703586046264385110">"Inombolo yembobo"</string>
-    <string name="transport_title" msgid="1661659138226029178">"Uhlobo lwendlela yezokuthutha"</string>
-    <string name="send_keepalive_title" msgid="5319788151608946049">"Thumula igcina kuphila"</string>
-    <string name="advanced_settings" msgid="2704644977548662872">"Izilungiselelo ongazikhetha"</string>
-    <string name="auth_username_title" msgid="9002505242616662698">"Igama lomsebenzisi lokufakazela ubuqiniso"</string>
-    <string name="auth_username_summary" msgid="6346313945275377230">"Igama lomsebenzisi elisetshenziselwa ukufakazela ubuqiniso"</string>
-    <string name="default_preference_summary_username" msgid="8788114717555599222">"&lt;Ayisethiwe&gt;"</string>
-    <string name="default_preference_summary_password" msgid="3695366978153175549">"&lt;Ayisethiwe&gt;"</string>
-    <string name="default_preference_summary_domain_address" msgid="443247296785732364">"&lt;Ayisethiwe&gt;"</string>
-    <string name="display_name_summary" msgid="6749135030093260358">"&lt;Ifana negama lomsebenzisi&gt;"</string>
-    <string name="optional_summary" msgid="620379377865437488">"&lt;Ongakukhetha&gt;"</string>
-    <string name="advanced_settings_show" msgid="2318728080037568529">"▷ Thinta ukuze ubonise konke"</string>
-    <string name="advanced_settings_hide" msgid="6200816937370652083">"▽ Thinta ukuze ufihle konke"</string>
-    <string name="all_empty_alert" msgid="6085603517610199098">"Faka imininingwane ye-akhawunti entsha ye-SIP."</string>
-    <string name="empty_alert" msgid="3693655518612836718">"I-<xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> iyadingeka futhi ayikwazi ukungabi nalutho."</string>
-    <string name="not_a_valid_port" msgid="3664668836663491376">"Inombolo yembobo kumele ibe phakathi kokungu-1000 nokungu-65534."</string>
-    <string name="no_internet_available" msgid="161720645084325479">"Ukuze wenze ikholi ye-SIP, hlola ukuxhumeka kwe-inthanethi yakho kuqala."</string>
-    <string name="no_wifi_available" msgid="1179092018692306312">"Kuzomele uxhumeke kunethiwekhi ye-Wi-Fi ngamakholi we-SIP (sebenzisa izilungiselelo ezingenantambo nenethiwekhi)."</string>
-    <string name="no_voip" msgid="3366395789297981738">"Ukushaya kwe-SIP akusekelwe"</string>
-    <string name="sip_system_decide" msgid="197230378376326430">"Okuzenzakalelayo"</string>
-    <string name="sip_always_send_keepalive" msgid="4986533673960084769">"Thumela njalo"</string>
-    <string name="sip_connection_service_label" msgid="8796284274240316006">"Ukushaya okwakhelwe ngaphakathi kwe-SIP"</string>
-</resources>
diff --git a/sip/res/values/array.xml b/sip/res/values/array.xml
deleted file mode 100644
index 1f33204..0000000
--- a/sip/res/values/array.xml
+++ /dev/null
@@ -1,44 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2010 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<!-- Array resources for the Phone app. -->
-<resources>
-    <string-array translatable="false" name="transport_types">
-        <item>UDP</item>
-        <item>TCP</item>
-    </string-array>
-
-    <string-array translatable="true" name="sip_call_options_entries">
-        <item>@string/sip_call_options_entry_1</item>
-        <item>@string/sip_call_options_entry_2</item>
-    </string-array>
-
-    <string-array translatable="true" name="sip_call_options_wifi_only_entries">
-        <item>@string/sip_call_options_wifi_only_entry_1</item>
-        <item>@string/sip_call_options_entry_2</item>
-    </string-array>
-
-    <string-array translatable="false" name="sip_call_options_values">
-        <item>@string/sip_always</item>
-        <item>@string/sip_address_only</item>
-    </string-array>
-
-    <string-array translatable="true" name="sip_send_keepalive_options">
-        <item>@string/sip_system_decide</item>
-        <item>@string/sip_always_send_keepalive</item>
-    </string-array>
-
-</resources>
diff --git a/sip/res/values/strings.xml b/sip/res/values/strings.xml
deleted file mode 100644
index d515736..0000000
--- a/sip/res/values/strings.xml
+++ /dev/null
@@ -1,177 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2014 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-
-    <!-- Title displayed SIP settings coming after other call settings in the call features screen. [CHAR LIMIT=NONE] -->
-    <string name="sip_settings">SIP settings</string>
-    <!-- Title displayed SIP account settings in the sip settings category. [CHAR LIMIT=NONE] -->
-    <string name="sip_accounts">SIP accounts</string>
-    <!-- Title displayed SIP account settings in the sip settings category. [CHAR LIMIT=NONE] -->
-    <string name="sip_accounts_title">Accounts</string>
-    <!-- Title displayed for the button of receiving incoming SIP calls flag. Enabled for receiving calls. [CHAR LIMIT=NONE] -->
-    <string name="sip_receive_calls">Receive incoming calls</string>
-    <!-- Help user to understand that it will require more battery usage if the 'receiving incoming call' is enabled. [CHAR LIMIT=NONE] -->
-    <string name="sip_receive_calls_summary">Uses more battery life</string>
-    <!-- Title for the dialog of selecting the way we handle an outgoing call. [CHAR LIMIT=NONE] -->
-    <string name="sip_call_options_title">Use SIP calling</string>
-    <!-- Title for the dialog of selecting the way we handle an outgoing call (Wi-Fi only). [CHAR LIMIT=NONE] -->
-    <string name="sip_call_options_wifi_only_title">Use SIP calling (Wi-Fi only)</string>
-
-    <!-- Item of the SIP call option dialog: for routing all outgoing calls via SIP. [CHAR LIMIT=NONE] -->
-    <string name="sip_call_options_entry_1">For all calls when data network is available</string>
-    <!-- Item of the SIP call option dialog: for routing a outgoing call via SIP if the destination is a SIP URI. [CHAR LIMIT=NONE] -->
-    <string name="sip_call_options_entry_2">Only for SIP calls</string>
-    <!-- Item of the SIP call (Wi-Fi only) option dialog: for routing all outgoing calls via SIP. [CHAR LIMIT=NONE] -->
-    <string name="sip_call_options_wifi_only_entry_1">For all calls</string>
-
-    <!-- Title for the button to add a new sip account. [CHAR LIMIT=NONE] -->
-    <string name="add_sip_account">Add account</string>
-    <!-- Title for the button to remove a sip account. [CHAR LIMIT=NONE] -->
-    <string name="remove_sip_account">Remove account</string>
-    <!-- String of the category which lists all sip accounts. [CHAR LIMIT=NONE] -->
-    <string name="sip_account_list">SIP accounts</string>
-    <!-- Toast message to indicate that the system is saving the account. [CHAR LIMIT=NONE] -->
-    <string name="saving_account">Saving the account\u2026</string>
-    <!-- Toast message to indicate that the system is removing the account. [CHAR LIMIT=NONE] -->
-    <string name="removing_account">Removing the account\u2026</string>
-
-    <!-- Menu item when the menu button is pressed in the sip account editor. [CHAR LIMIT=NONE] -->
-    <string name="sip_menu_save">Save</string>
-    <!-- Menu item when the menu button is pressed in the sip account editor. [CHAR LIMIT=NONE] -->
-    <string name="sip_menu_discard">Discard</string>
-
-    <!-- Title of the alert dialog. [CHAR LIMIT=NONE] -->
-    <string name="alert_dialog_close">Close the profile</string>
-    <!-- Title of the button to show in a alert dialog. [CHAR LIMIT=NONE] -->
-    <string name="alert_dialog_ok">OK</string>
-    <!-- Title of the button to show in a alert dialog. [CHAR LIMIT=NONE] -->
-    <string name="close_profile">Close</string>
-
-    <!-- Text of SIP-call registration status, checking current registration status with SIP service [CHAR LIMIT=NONE] -->
-    <string name="registration_status_checking_status">Checking status...</string>
-    <!-- Text of SIP-call registration status, registering with SIP server in order to receive calls on this account [CHAR LIMIT=NONE] -->
-    <string name="registration_status_registering">Registering\u2026</string>
-    <!-- Text of SIP-call registration status, still trying to register with SIP server [CHAR LIMIT=NONE] -->
-    <string name="registration_status_still_trying">Still trying\u2026</string>
-    <!-- Text of SIP-call registration status, currently not receiving calls on this account [CHAR LIMIT=NONE] -->
-    <string name="registration_status_not_receiving">Not receiving calls.</string>
-    <!-- Text of SIP-call registration status, no data connection [CHAR LIMIT=NONE] -->
-    <string name="registration_status_no_data">Account registration stopped because there is no Internet connection.</string>
-    <!-- Text of SIP-call registration status, no Wi-Fi connection [CHAR LIMIT=NONE] -->
-    <string name="registration_status_no_wifi_data">Account registration stopped because there is no Wi-Fi connection.</string>
-    <!-- Text of SIP-call registration status, registration process is not running due to some error [CHAR LIMIT=NONE] -->
-    <string name="registration_status_not_running">Account registration unsuccessful.</string>
-    <!-- Text of SIP-call registration status, currently we can receive calls on this account [CHAR LIMIT=NONE] -->
-    <string name="registration_status_done">Receiving calls.</string>
-    <!-- Text of SIP-call registration status, registration failed with a reason; will try again later [CHAR LIMIT=NONE] -->
-    <string name="registration_status_failed_try_later">Account registration unsuccessful: (<xliff:g id="registration_error_message" example="timed out">%s</xliff:g>); will try later</string>
-    <!-- Text of SIP-call registration status, registration failed due to invalid credentials [CHAR LIMIT=NONE] -->
-    <string name="registration_status_invalid_credentials">Account registration unsuccessful: Incorrect username or password.</string>
-    <!-- Text of SIP-call registration status, registration failed due to unknown host exception [CHAR LIMIT=NONE] -->
-    <string name="registration_status_server_unreachable">Account registration unsuccessful: Check the server name.</string>
-    <!-- Text for describing the account's owner and status. For example, 'Active, in use by Google Talk', it means that the account managed by SIP service was registered by the application 'Google Talk' and the status is active. [CHAR LIMIT=NONE] -->
-    <string name="third_party_account_summary">This account is currently in use by the <xliff:g id="account_owner" example="Google Talk">%s</xliff:g> app.</string>
-
-
-    <!-- Title of the sip editor screen. [CHAR LIMIT=NONE] -->
-    <string name="sip_edit_title">SIP account details</string>
-    <!-- Title of the sip editor screen. [CHAR LIMIT=NONE] -->
-    <string name="sip_edit_new_title">SIP account details</string>
-
-    <!-- Text of the domain address preference. [CHAR LIMIT=NONE] -->
-    <string name="domain_address_title">Server</string>
-    <!-- Text of the username preference. [CHAR LIMIT=NONE] -->
-    <string name="username_title">Username</string>
-    <!-- Text of the password preference. [CHAR LIMIT=NONE] -->
-    <string name="password_title">Password</string>
-    <!-- Text of the display name preference. [CHAR LIMIT=NONE] -->
-    <string name="display_name_title">Display name</string>
-    <!-- Text of the outbound proxy address preference. [CHAR LIMIT=NONE] -->
-    <string name="proxy_address_title">Outbound proxy address</string>
-    <!-- Text of the sip server/proxy port number. [CHAR LIMIT=NONE] -->
-    <string name="port_title">Port number</string>
-    <!-- Text of the transport type preference. [CHAR LIMIT=NONE] -->
-    <string name="transport_title">Transport type</string>
-    <!-- Text of the keepalive preference. [CHAR LIMIT=NONE] -->
-    <string name="send_keepalive_title">Send keep-alive</string>
-    <!-- Text of the advanced settings section. [CHAR LIMIT=NONE] -->
-    <string name="advanced_settings">Optional settings</string>
-    <!-- Text of the username used in authentication. [CHAR LIMIT=NONE] -->
-    <string name="auth_username_title">Authentication username</string>
-    <!-- Help text of the auth_username field. [CHAR LIMIT=NONE] -->
-    <string name="auth_username_summary">Username used for authentication</string>
-
-    <!-- Initial status of the username preference is '<Not set>'. [CHAR LIMIT=NONE] -->
-    <string name="default_preference_summary_username">&lt;Not set&gt;</string>
-    <!-- Initial status of the password preference is '<Not set>'. [CHAR LIMIT=NONE] -->
-    <string name="default_preference_summary_password">&lt;Not set&gt;</string>
-    <!-- Initial status of the domain address preference is '<Not set>'. [CHAR LIMIT=NONE] -->
-    <string name="default_preference_summary_domain_address">&lt;Not set&gt;</string>
-    <!-- Default value for the display-name preference summary. [CHAR LIMIT=NONE] -->
-    <string name="display_name_summary">&lt;Same as username&gt;</string>
-    <!-- Default value for the outbound-proxy-address preference summary. [CHAR LIMIT=NONE] -->
-    <string name="optional_summary">&lt;Optional&gt;</string>
-
-    <!-- Default sip server/proxy port number. -->
-    <string translatable="false" name="default_port">5060</string>
-    <!-- Default sip server/proxy transport protocol. -->
-    <string translatable="false" name="default_transport">UDP</string>
-
-
-    <!-- Hint to show the advanced settings section. [CHAR LIMIT=NONE] -->
-    <string name="advanced_settings_show">▷ Touch to show all</string>
-    <!-- Hint to hide the advanced settings section. [CHAR LIMIT=NONE] -->
-    <string name="advanced_settings_hide">▽ Touch to hide all</string>
-
-    <!-- Text in an alert dialog telling the user that all input fields can not be left blank. [CHAR LIMIT=NONE] -->
-    <string name="all_empty_alert">Enter details of new SIP account.</string>
-    <!-- Text in an alert dialog telling the user that some input field (name of which is also part of the strings being translated above) is required and can not be left blank. [CHAR LIMIT=NONE] -->
-    <string name="empty_alert"><xliff:g id="input_field_name" example="Username, Password...">%s</xliff:g> is required and can\'t be left blank.</string>
-    <!-- Showing that port number is out of range in an alert dialog. [CHAR LIMIT=NONE] -->
-    <string name="not_a_valid_port">Port number should be within 1000 and 65534.</string>
-
-    <!-- Message of the alert dialog to notify user that there is no Internet connectivity. [CHAR LIMIT=NONE] -->
-    <string name="no_internet_available">To place a SIP call, check your Internet connection first.</string>
-    <!-- Message of the alert dialog to notify user that there is no Wi-Fi connectivity. [CHAR LIMIT=NONE] -->
-    <string name="no_wifi_available">You need to be connected to a Wi-Fi network for SIP calls (use the Wireless &amp; Network settings).</string>
-    <!-- Message of the alert dialog to notify user that SIP call is not supported. [CHAR LIMIT=NONE] -->
-    <string name="no_voip">SIP calling not supported</string>
-
-    <!-- Option for whether the SIP service should send keepalive messages. [CHAR LIMIT=40] -->
-    <string translatable="true" name="sip_system_decide">Automatic</string>
-    <!-- Option for whether the SIP service should send keepalive messages. [CHAR LIMIT=40] -->
-    <string translatable="true" name="sip_always_send_keepalive">Always send</string>
-
-    <!-- Do not translate the following strings. Used for the SIP call options. Need to be in-sync with Settings.System.SIP_ strings. -->
-    <string translatable="false" name="sip_always">SIP_ALWAYS</string>
-    <string translatable="false" name="sip_address_only">SIP_ADDRESS_ONLY</string>
-
-    <!-- Do not translate the following strings. Used for the preference keys -->
-    <string translatable="false" name="domain_address">SipDomain</string>
-    <string translatable="false" name="username">UserName</string>
-    <string translatable="false" name="password">Password</string>
-    <string translatable="false" name="display_name">DisplayName</string>
-    <string translatable="false" name="proxy_address">ProxyAddress</string>
-    <string translatable="false" name="port">Port</string>
-    <string translatable="false" name="transport">Protocol</string>
-    <string translatable="false" name="send_keepalive">SendKeepAlive</string>
-    <string translatable="false" name="advanced_settings_container">advanced settings container</string>
-    <string translatable="false" name="auth_username">AuthUserName</string>
-
-    <!-- Label for SIP connection service. -->
-    <string name="sip_connection_service_label">Built-in SIP calling</string>
-</resources>
diff --git a/sip/res/xml/sip_advanced_edit.xml b/sip/res/xml/sip_advanced_edit.xml
deleted file mode 100644
index b7974ba..0000000
--- a/sip/res/xml/sip_advanced_edit.xml
+++ /dev/null
@@ -1,74 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2010 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
-        android:persistent="false">
-
-    <PreferenceCategory
-        android:key="@string/advanced_settings_container"
-        android:persistent="false">
-
-        <EditTextPreference
-            android:key="@string/auth_username"
-            android:title="@string/auth_username_title"
-            android:dialogTitle="@string/auth_username_title"
-            android:summary="@string/auth_username_summary"
-            android:persistent="false"
-            android:singleLine="true"/>
-
-        <EditTextPreference
-            android:key="@string/display_name"
-            android:title="@string/display_name_title"
-            android:dialogTitle="@string/display_name_title"
-            android:summary="@string/display_name_summary"
-            android:persistent="false"
-            android:singleLine="true"/>
-
-        <EditTextPreference
-            android:key="@string/proxy_address"
-            android:title="@string/proxy_address_title"
-            android:dialogTitle="@string/proxy_address_title"
-            android:summary="@string/optional_summary"
-            android:persistent="false"
-            android:singleLine="true"/>
-
-        <EditTextPreference
-            android:key="@string/port"
-            android:title="@string/port_title"
-            android:summary="@string/default_port"
-            android:dialogTitle="@string/port_title"
-            android:persistent="false"
-            android:inputType="number|numberDecimal"
-            android:singleLine="true"/>
-
-        <ListPreference
-            android:key="@string/transport"
-            android:title="@string/transport_title"
-            android:entries="@array/transport_types"
-            android:entryValues="@array/transport_types"
-            android:summary="@string/default_transport"
-            android:persistent="false"
-            android:dialogTitle="@string/transport_title"/>
-
-        <ListPreference
-            android:key="@string/send_keepalive"
-            android:title="@string/send_keepalive_title"
-            android:entries="@array/sip_send_keepalive_options"
-            android:entryValues="@array/sip_send_keepalive_options"
-            android:persistent="false"
-            android:summary="@string/sip_system_decide"/>
-    </PreferenceCategory>
-</PreferenceScreen>
diff --git a/sip/res/xml/sip_edit.xml b/sip/res/xml/sip_edit.xml
deleted file mode 100644
index 58a8a92..0000000
--- a/sip/res/xml/sip_edit.xml
+++ /dev/null
@@ -1,53 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2010 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
-        android:title="@string/sip_edit_title"
-        android:persistent="false">
-
-    <EditTextPreference
-        android:key="@string/username"
-        android:title="@string/username_title"
-        android:dialogTitle="@string/username_title"
-        android:summary="@string/default_preference_summary_username"
-        android:persistent="false"
-        android:singleLine="true"
-        android:inputType="textNoSuggestions"/>
-
-    <EditTextPreference
-        android:key="@string/password"
-        android:title="@string/password_title"
-        android:dialogTitle="@string/password_title"
-        android:password="true"
-        android:summary="@string/default_preference_summary_password"
-        android:persistent="false"
-        android:singleLine="true"/>
-
-    <EditTextPreference
-        android:key="@string/domain_address"
-        android:title="@string/domain_address_title"
-        android:dialogTitle="@string/domain_address_title"
-        android:summary="@string/default_preference_summary_domain_address"
-        android:persistent="false"
-        android:singleLine="true"
-        android:inputType="textNoSuggestions"/>
-
-    <PreferenceScreen
-        android:key="@string/advanced_settings"
-        android:title="@string/advanced_settings"
-        android:summary="@string/advanced_settings_show"
-        android:persistent="false"/>
-</PreferenceScreen>
diff --git a/sip/res/xml/sip_setting.xml b/sip/res/xml/sip_setting.xml
deleted file mode 100644
index fa31e7c..0000000
--- a/sip/res/xml/sip_setting.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2010 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
-    android:title="@string/sip_accounts">
-
-    <PreferenceCategory android:key="sip_account_list" android:title="@string/sip_account_list"/>
-
-</PreferenceScreen>
diff --git a/sip/src/com/android/services/telephony/sip/SipAccountRegistry.java b/sip/src/com/android/services/telephony/sip/SipAccountRegistry.java
deleted file mode 100644
index 6b34f00..0000000
--- a/sip/src/com/android/services/telephony/sip/SipAccountRegistry.java
+++ /dev/null
@@ -1,282 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.services.telephony.sip;
-
-import android.app.Notification;
-import android.app.NotificationChannel;
-import android.app.NotificationManager;
-import android.app.PendingIntent;
-import android.content.Context;
-import android.content.Intent;
-import android.net.sip.SipManager;
-import android.net.sip.SipProfile;
-import android.telecom.PhoneAccount;
-import android.telecom.PhoneAccountHandle;
-import android.telecom.TelecomManager;
-import android.util.Log;
-
-import com.android.phone.R;
-
-import java.io.IOException;
-import java.util.List;
-import java.util.Objects;
-import java.util.concurrent.CopyOnWriteArrayList;
-import java.util.stream.Collectors;
-
-/**
- * Manages the {@link PhoneAccount} entries for SIP calling.
- */
-public final class SipAccountRegistry {
-    private final class AccountEntry {
-        private final SipProfile mProfile;
-
-        AccountEntry(SipProfile profile) {
-            mProfile = profile;
-        }
-
-        SipProfile getProfile() {
-            return mProfile;
-        }
-
-        /**
-         * Stops the SIP service associated with the SIP profile.  The {@code SipAccountRegistry} is
-         * informed when the service has been stopped via an intent which triggers
-         * {@link SipAccountRegistry#removeSipProfile(String)}.
-         *
-         * @param sipManager The SIP manager.
-         * @return {@code True} if stop was successful.
-         */
-        boolean stopSipService(SipManager sipManager) {
-            try {
-                sipManager.close(mProfile.getUriString());
-                return true;
-            } catch (Exception e) {
-                log("stopSipService, stop failed for profile: " + mProfile.getUriString() +
-                        ", exception: " + e);
-            }
-            return false;
-        }
-    }
-
-    private static final String PREFIX = "[SipAccountRegistry] ";
-    private static final boolean VERBOSE = false; /* STOP SHIP if true */
-    private static final SipAccountRegistry INSTANCE = new SipAccountRegistry();
-    private static final String NOTIFICATION_TAG = SipAccountRegistry.class.getSimpleName();
-    private static final int SIP_ACCOUNTS_REMOVED_NOTIFICATION_ID = 1;
-
-    private static final String CHANNEL_ID_SIP_ACCOUNTS_REMOVED = "sipAccountsRemoved";
-
-    private final List<AccountEntry> mAccounts = new CopyOnWriteArrayList<>();
-
-    private NotificationChannel mNotificationChannel;
-    private NotificationManager mNm;
-
-    private SipAccountRegistry() {}
-
-    public static SipAccountRegistry getInstance() {
-        return INSTANCE;
-    }
-
-    /**
-     * Sets up the Account registry and performs any upgrade operations before it is used.
-     */
-    public void setup(Context context) {
-        setupNotificationChannel(context);
-        verifyAndPurgeInvalidPhoneAccounts(context);
-        startSipProfilesAsync(context);
-    }
-
-    private void setupNotificationChannel(Context context) {
-        mNotificationChannel = new NotificationChannel(
-                CHANNEL_ID_SIP_ACCOUNTS_REMOVED,
-                context.getText(R.string.notification_channel_sip_account),
-                NotificationManager.IMPORTANCE_HIGH);
-        mNm = context.getSystemService(NotificationManager.class);
-        if (mNm != null) {
-            mNm.createNotificationChannel(mNotificationChannel);
-        }
-    }
-
-    /**
-     * Checks the existing SIP phone {@link PhoneAccount}s registered with telecom and deletes any
-     * invalid accounts.
-     *
-     * @param context The context.
-     */
-    void verifyAndPurgeInvalidPhoneAccounts(Context context) {
-        TelecomManager telecomManager = context.getSystemService(TelecomManager.class);
-        SipProfileDb profileDb = new SipProfileDb(context);
-        List<PhoneAccountHandle> accountHandles = telecomManager.getPhoneAccountsSupportingScheme(
-                PhoneAccount.SCHEME_SIP);
-
-        for (PhoneAccountHandle accountHandle : accountHandles) {
-            String profileName = SipUtil.getSipProfileNameFromPhoneAccount(accountHandle);
-            SipProfile profile = profileDb.retrieveSipProfileFromName(profileName);
-            if (profile == null) {
-                log("verifyAndPurgeInvalidPhoneAccounts, deleting account: " + accountHandle);
-                telecomManager.unregisterPhoneAccount(accountHandle);
-            }
-        }
-    }
-
-    /**
-     * Starts the SIP service for the specified SIP profile and ensures it has a valid registered
-     * {@link PhoneAccount}.
-     *
-     * @param context The context.
-     * @param sipProfileName The name of the {@link SipProfile} to start, or {@code null} for all.
-     * @param enableProfile Sip account should be enabled
-     */
-    void startSipService(Context context, String sipProfileName, boolean enabledProfile) {
-        startSipProfilesAsync(context);
-    }
-
-    /**
-     * Removes a {@link SipProfile} from the account registry.  Does not stop/close the associated
-     * SIP service (this method is invoked via an intent from the SipService once a profile has
-     * been stopped/closed).
-     *
-     * @param sipProfileName Name of the SIP profile.
-     */
-    public void removeSipProfile(String sipProfileName) {
-        AccountEntry accountEntry = getAccountEntry(sipProfileName);
-
-        if (accountEntry != null) {
-            mAccounts.remove(accountEntry);
-        }
-    }
-
-    /**
-     * Stops a SIP profile and un-registers its associated {@link android.telecom.PhoneAccount}.
-     * Called after a SIP profile is deleted.  The {@link AccountEntry} will be removed when the
-     * service has been stopped.  The {@code SipService} fires the {@code ACTION_SIP_REMOVE_PHONE}
-     * intent, which triggers {@link SipAccountRegistry#removeSipProfile(String)} to perform the
-     * removal.
-     *
-     * @param context The context.
-     * @param sipProfileName Name of the SIP profile.
-     */
-    void stopSipService(Context context, String sipProfileName) {
-        // Stop the sip service for the profile.
-        AccountEntry accountEntry = getAccountEntry(sipProfileName);
-        if (accountEntry != null ) {
-            SipManager sipManager = SipManager.newInstance(context);
-            accountEntry.stopSipService(sipManager);
-        }
-
-        // Un-register its PhoneAccount.
-        PhoneAccountHandle handle = SipUtil.createAccountHandle(context, sipProfileName);
-        TelecomManager tm = context.getSystemService(TelecomManager.class);
-        tm.unregisterPhoneAccount(handle);
-    }
-
-    /**
-     * Performs an asynchronous call to
-     * {@link SipAccountRegistry#startSipProfiles(android.content.Context, String)}, starting the
-     * specified SIP profile and registering its {@link android.telecom.PhoneAccount}.
-     *
-     * @param context The context.
-     */
-    private void startSipProfilesAsync(
-            final Context context) {
-        if (VERBOSE) log("startSipProfiles, start auto registration");
-
-        new Thread(new Runnable() {
-            @Override
-            public void run() {
-                startSipProfiles(context);
-            }}
-        ).start();
-    }
-
-    /**
-     * Loops through all SIP accounts from the SIP database, starts each service and registers
-     * each with the telecom framework. If a specific sipProfileName is specified, this will only
-     * register the associated SIP account.
-     *
-     * @param context The context.
-     */
-    private void startSipProfiles(Context context) {
-        SipProfileDb profileDb = new SipProfileDb(context);
-        List<SipProfile> sipProfileList = profileDb.retrieveSipProfileList();
-
-        // If there're SIP profiles existing in DB, display a notification and delete all these
-        // profiles.
-        if (!sipProfileList.isEmpty()) {
-            for (SipProfile profile : sipProfileList) {
-                stopSipService(context, profile.getProfileName());
-                removeSipProfile(profile.getProfileName());
-                try {
-                    profileDb.deleteProfile(profile);
-                } catch (IOException e) {
-                    // Ignore
-                }
-            }
-            sendSipAccountsRemovedNotification(context, sipProfileList);
-        }
-    }
-
-    private void sendSipAccountsRemovedNotification(Context context, List<SipProfile> profiles) {
-        String sipAccounts = profiles.stream().map(p -> p.getProfileName())
-                .collect(Collectors.joining(","));
-
-        Intent intent = new Intent(TelecomManager.ACTION_CHANGE_PHONE_ACCOUNTS);
-        intent.setFlags(Intent.FLAG_RECEIVER_INCLUDE_BACKGROUND);
-        PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent,
-                PendingIntent.FLAG_IMMUTABLE);
-
-        Notification.Action action = new Notification.Action.Builder(R.drawable.ic_sim_card,
-                context.getString(R.string.sip_accounts_removed_notification_action),
-                pendingIntent).build();
-        Notification.Builder builder = new Notification.Builder(context)
-                .setSmallIcon(R.drawable.ic_sim_card)
-                .setChannelId(CHANNEL_ID_SIP_ACCOUNTS_REMOVED)
-                .setContentTitle(context.getText(R.string.sip_accounts_removed_notification_title))
-                .setStyle(new Notification.BigTextStyle()
-                .bigText(context.getString(
-                        R.string.sip_accounts_removed_notification_message,
-                        sipAccounts)))
-                .setAutoCancel(true)
-                .addAction(action);
-        Notification notification = builder.build();
-        if (mNm != null) {
-            mNm.notify(NOTIFICATION_TAG, SIP_ACCOUNTS_REMOVED_NOTIFICATION_ID,
-                    notification);
-        } else {
-            log("NotificationManager is null when send the notification of removed SIP accounts");
-        }
-    }
-
-    /**
-     * Retrieves the {@link AccountEntry} from the registry with the specified name.
-     *
-     * @param sipProfileName Name of the SIP profile to retrieve.
-     * @return The {@link AccountEntry}, or {@code null} is it was not found.
-     */
-    private AccountEntry getAccountEntry(String sipProfileName) {
-        for (AccountEntry entry : mAccounts) {
-            if (Objects.equals(sipProfileName, entry.getProfile().getProfileName())) {
-                return entry;
-            }
-        }
-        return null;
-    }
-
-    private void log(String message) {
-        Log.d(SipUtil.LOG_TAG, PREFIX + message);
-    }
-}
diff --git a/sip/src/com/android/services/telephony/sip/SipConnection.java b/sip/src/com/android/services/telephony/sip/SipConnection.java
deleted file mode 100644
index 2dde5b5..0000000
--- a/sip/src/com/android/services/telephony/sip/SipConnection.java
+++ /dev/null
@@ -1,365 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.services.telephony.sip;
-
-import android.net.Uri;
-import android.os.Bundle;
-import android.os.Handler;
-import android.os.Message;
-import android.telecom.AudioState;
-import android.telecom.Connection;
-import android.telecom.PhoneAccount;
-import android.telecom.TelecomManager;
-import android.util.EventLog;
-import android.util.Log;
-
-import com.android.internal.telephony.Call;
-import com.android.internal.telephony.CallStateException;
-import com.android.internal.telephony.PhoneConstants;
-import com.android.internal.telephony.sip.SipPhone;
-import com.android.services.telephony.DisconnectCauseUtil;
-
-import java.util.Objects;
-
-final class SipConnection extends Connection {
-    private static final String PREFIX = "[SipConnection] ";
-    private static final boolean VERBOSE = false; /* STOP SHIP if true */
-
-    private static final int MSG_PRECISE_CALL_STATE_CHANGED = 1;
-
-    private final Handler mHandler = new Handler() {
-        @Override
-        public void handleMessage(Message msg) {
-            switch (msg.what) {
-                case MSG_PRECISE_CALL_STATE_CHANGED:
-                    updateState(false);
-                    break;
-            }
-        }
-    };
-
-    private com.android.internal.telephony.Connection mOriginalConnection;
-    private Call.State mOriginalConnectionState = Call.State.IDLE;
-
-    SipConnection() {
-        if (VERBOSE) log("new SipConnection");
-        setInitializing();
-    }
-
-    void initialize(com.android.internal.telephony.Connection connection) {
-        if (VERBOSE) log("init SipConnection, connection: " + connection);
-        mOriginalConnection = connection;
-        if (getPhone() != null) {
-            getPhone().registerForPreciseCallStateChanged(mHandler, MSG_PRECISE_CALL_STATE_CHANGED,
-                    null);
-        }
-        updateAddress();
-        setTechnologyTypeExtra();
-        setInitialized();
-    }
-
-    @Override
-    public void onAudioStateChanged(AudioState state) {
-        if (VERBOSE) log("onAudioStateChanged: " + state);
-        if (getPhone() != null) {
-            getPhone().setEchoSuppressionEnabled();
-        }
-    }
-
-    @Override
-    public void onStateChanged(int state) {
-        if (VERBOSE) log("onStateChanged, state: " + Connection.stateToString(state));
-    }
-
-    @Override
-    public void onPlayDtmfTone(char c) {
-        if (VERBOSE) log("onPlayDtmfTone");
-        if (getPhone() != null) {
-            getPhone().startDtmf(c);
-        }
-    }
-
-    @Override
-    public void onStopDtmfTone() {
-        if (VERBOSE) log("onStopDtmfTone");
-        if (getPhone() != null) {
-            getPhone().stopDtmf();
-        }
-    }
-
-    @Override
-    public void onDisconnect() {
-        if (VERBOSE) log("onDisconnect");
-        try {
-            if (getCall() != null && !getCall().isMultiparty()) {
-                getCall().hangup();
-            } else if (mOriginalConnection != null) {
-                mOriginalConnection.hangup();
-            }
-        } catch (CallStateException e) {
-            log("onDisconnect, exception: " + e);
-        }
-    }
-
-    @Override
-    public void onSeparate() {
-        if (VERBOSE) log("onSeparate");
-        try {
-            if (mOriginalConnection != null) {
-                mOriginalConnection.separate();
-            }
-        } catch (CallStateException e) {
-            log("onSeparate, exception: " + e);
-        }
-    }
-
-    @Override
-    public void onAbort() {
-        if (VERBOSE) log("onAbort");
-        onDisconnect();
-    }
-
-    @Override
-    public void onHold() {
-        if (VERBOSE) log("onHold");
-        try {
-            if (getPhone() != null && getState() == STATE_ACTIVE
-                    && getPhone().getRingingCall().getState() != Call.State.WAITING) {
-                // Double check with the internal state since a discrepancy in states could mean
-                // that the transactions is already in progress from a previous request.
-                if (mOriginalConnection != null &&
-                        mOriginalConnection.getState() == Call.State.ACTIVE) {
-                    getPhone().switchHoldingAndActive();
-                } else {
-                    log("skipping switch from onHold due to internal state:");
-                }
-            }
-        } catch (CallStateException e) {
-            log("onHold, exception: " + e);
-        }
-    }
-
-    @Override
-    public void onUnhold() {
-        if (VERBOSE) log("onUnhold");
-        try {
-            if (getPhone() != null && getState() == STATE_HOLDING &&
-                    getPhone().getForegroundCall().getState() != Call.State.DIALING) {
-                // Double check with the internal state since a discrepancy in states could mean
-                // that the transaction is already in progress from a previous request.
-                if (mOriginalConnection != null &&
-                        mOriginalConnection.getState() == Call.State.HOLDING) {
-                    getPhone().switchHoldingAndActive();
-                } else {
-                    log("skipping switch from onUnHold due to internal state.");
-                }
-            }
-        } catch (CallStateException e) {
-            log("onUnhold, exception: " + e);
-        }
-    }
-
-    @Override
-    public void onAnswer(int videoState) {
-        if (VERBOSE) log("onAnswer");
-        try {
-            if (isValidRingingCall() && getPhone() != null) {
-                getPhone().acceptCall(videoState);
-            }
-        } catch (CallStateException e) {
-            log("onAnswer, exception: " + e);
-        } catch (IllegalStateException e) {
-            // Call could not be answered due to an invalid audio-codec offered by the caller.  We
-            // will reject the call to stop it from ringing.
-            log("onAnswer, IllegalStateException: " + e);
-            EventLog.writeEvent(0x534e4554, "31752213", -1, "Invalid codec.");
-            onReject();
-        } catch (IllegalArgumentException e) {
-            // Call could not be answered due to an error parsing the SDP.  We will reject the call
-            // to stop it from ringing.
-            log("onAnswer, IllegalArgumentException: " + e);
-            EventLog.writeEvent(0x534e4554, "31752213", -1, "Invalid SDP.");
-            onReject();
-        }
-    }
-
-    @Override
-    public void onReject() {
-        if (VERBOSE) log("onReject");
-        try {
-            if (isValidRingingCall() && getPhone() != null) {
-                getPhone().rejectCall();
-            }
-        } catch (CallStateException e) {
-            log("onReject, exception: " + e);
-        }
-    }
-
-    @Override
-    public void onPostDialContinue(boolean proceed) {
-        if (VERBOSE) log("onPostDialContinue, proceed: " + proceed);
-        // SIP doesn't have post dial support.
-    }
-
-    private Call getCall() {
-        if (mOriginalConnection != null) {
-            return mOriginalConnection.getCall();
-        }
-        return null;
-    }
-
-    SipPhone getPhone() {
-        Call call = getCall();
-        if (call != null) {
-            return (SipPhone) call.getPhone();
-        }
-        return null;
-    }
-
-    private boolean isValidRingingCall() {
-        Call call = getCall();
-        return call != null && call.getState().isRinging() &&
-                call.getEarliestConnection() == mOriginalConnection;
-    }
-
-    private void updateState(boolean force) {
-        if (mOriginalConnection == null) {
-            return;
-        }
-
-        Call.State newState = mOriginalConnection.getState();
-        if (VERBOSE) log("updateState, " + mOriginalConnectionState + " -> " + newState);
-        if (force || mOriginalConnectionState != newState) {
-            mOriginalConnectionState = newState;
-            switch (newState) {
-                case IDLE:
-                    break;
-                case ACTIVE:
-                    setActive();
-                    break;
-                case HOLDING:
-                    setOnHold();
-                    break;
-                case DIALING:
-                case ALERTING:
-                    setDialing();
-                    // For SIP calls, we need to ask the framework to play the ringback for us.
-                    setRingbackRequested(true);
-                    break;
-                case INCOMING:
-                case WAITING:
-                    setRinging();
-                    break;
-                case DISCONNECTED:
-                    setDisconnected(DisconnectCauseUtil.toTelecomDisconnectCause(
-                            mOriginalConnection.getDisconnectCause()));
-                    close();
-                    break;
-                case DISCONNECTING:
-                    break;
-            }
-            updateCallCapabilities(force);
-        }
-    }
-
-    private int buildCallCapabilities() {
-        int capabilities = CAPABILITY_MUTE | CAPABILITY_SUPPORT_HOLD;
-        if (getState() == STATE_ACTIVE || getState() == STATE_HOLDING) {
-            capabilities |= CAPABILITY_HOLD;
-        }
-        return capabilities;
-    }
-
-    void updateCallCapabilities(boolean force) {
-        int newCallCapabilities = buildCallCapabilities();
-        if (force || getConnectionCapabilities() != newCallCapabilities) {
-            setConnectionCapabilities(newCallCapabilities);
-        }
-    }
-
-    void onAddedToCallService() {
-        if (VERBOSE) log("onAddedToCallService");
-        updateState(true);
-        updateCallCapabilities(true);
-        setAudioModeIsVoip(true);
-        if (mOriginalConnection != null) {
-            setCallerDisplayName(mOriginalConnection.getCnapName(),
-                    mOriginalConnection.getCnapNamePresentation());
-        }
-    }
-
-    /**
-     * Updates the handle on this connection based on the original connection.
-     */
-    private void updateAddress() {
-        if (mOriginalConnection != null) {
-            Uri address = getAddressFromNumber(mOriginalConnection.getAddress());
-            int presentation = mOriginalConnection.getNumberPresentation();
-            if (!Objects.equals(address, getAddress()) ||
-                    presentation != getAddressPresentation()) {
-                com.android.services.telephony.Log.v(this, "updateAddress, address changed");
-                setAddress(address, presentation);
-            }
-
-            String name = mOriginalConnection.getCnapName();
-            int namePresentation = mOriginalConnection.getCnapNamePresentation();
-            if (!Objects.equals(name, getCallerDisplayName()) ||
-                    namePresentation != getCallerDisplayNamePresentation()) {
-                com.android.services.telephony.Log
-                        .v(this, "updateAddress, caller display name changed");
-                setCallerDisplayName(name, namePresentation);
-            }
-        }
-    }
-
-    private void setTechnologyTypeExtra() {
-        int phoneType = PhoneConstants.PHONE_TYPE_SIP;
-        if (getExtras() == null) {
-            Bundle b = new Bundle();
-            b.putInt(TelecomManager.EXTRA_CALL_TECHNOLOGY_TYPE, phoneType);
-            setExtras(b);
-        } else {
-            getExtras().putInt(TelecomManager.EXTRA_CALL_TECHNOLOGY_TYPE, phoneType);
-        }
-    }
-
-    /**
-     * Determines the address for an incoming number.
-     *
-     * @param number The incoming number.
-     * @return The Uri representing the number.
-     */
-    private static Uri getAddressFromNumber(String number) {
-        // Address can be null for blocked calls.
-        if (number == null) {
-            number = "";
-        }
-        return Uri.fromParts(PhoneAccount.SCHEME_SIP, number, null);
-    }
-
-    private void close() {
-        if (getPhone() != null) {
-            getPhone().unregisterForPreciseCallStateChanged(mHandler);
-        }
-        mOriginalConnection = null;
-        destroy();
-    }
-
-    private static void log(String msg) {
-        Log.d(SipUtil.LOG_TAG, PREFIX + msg);
-    }
-}
diff --git a/sip/src/com/android/services/telephony/sip/SipConnectionService.java b/sip/src/com/android/services/telephony/sip/SipConnectionService.java
deleted file mode 100644
index 27be9b4..0000000
--- a/sip/src/com/android/services/telephony/sip/SipConnectionService.java
+++ /dev/null
@@ -1,288 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.services.telephony.sip;
-
-import android.content.ComponentName;
-import android.content.Context;
-import android.content.Intent;
-import android.net.ConnectivityManager;
-import android.net.NetworkInfo;
-import android.net.sip.SipAudioCall;
-import android.net.sip.SipException;
-import android.net.sip.SipManager;
-import android.net.sip.SipProfile;
-import android.os.Bundle;
-import android.os.Handler;
-import android.telecom.Connection;
-import android.telecom.ConnectionRequest;
-import android.telecom.ConnectionService;
-import android.telecom.PhoneAccountHandle;
-import android.telecom.TelecomManager;
-import android.telephony.DisconnectCause;
-import android.util.Log;
-
-import com.android.internal.telephony.CallStateException;
-import com.android.internal.telephony.PhoneFactory;
-import com.android.internal.telephony.PhoneInternalInterface;
-import com.android.internal.telephony.sip.SipPhone;
-import com.android.services.telephony.DisconnectCauseUtil;
-
-import java.util.List;
-import java.util.Objects;
-
-public final class SipConnectionService extends ConnectionService {
-    private interface IProfileFinderCallback {
-        void onFound(SipProfile profile);
-    }
-
-    private static final String PREFIX = "[SipConnectionService] ";
-    private static final boolean VERBOSE = false; /* STOP SHIP if true */
-
-    private SipProfileDb mSipProfileDb;
-    private Handler mHandler;
-
-    @Override
-    public void onCreate() {
-        mSipProfileDb = new SipProfileDb(this);
-        mHandler = new Handler();
-        super.onCreate();
-    }
-
-    @Override
-    public Connection onCreateOutgoingConnection(
-            PhoneAccountHandle connectionManagerAccount,
-            final ConnectionRequest request) {
-        if (VERBOSE) log("onCreateOutgoingConnection, request: " + request);
-
-        Bundle extras = request.getExtras();
-        if (extras != null &&
-                extras.getString(TelecomManager.GATEWAY_PROVIDER_PACKAGE) != null) {
-            return Connection.createFailedConnection(DisconnectCauseUtil.toTelecomDisconnectCause(
-                    DisconnectCause.CALL_BARRED, "Cannot make a SIP call with a gateway number."));
-        }
-
-        PhoneAccountHandle accountHandle = request.getAccountHandle();
-        ComponentName sipComponentName = new ComponentName(this, SipConnectionService.class);
-        if (!Objects.equals(accountHandle.getComponentName(), sipComponentName)) {
-            return Connection.createFailedConnection(DisconnectCauseUtil.toTelecomDisconnectCause(
-                    DisconnectCause.OUTGOING_FAILURE, "Did not match service connection"));
-        }
-
-        final SipConnection connection = new SipConnection();
-        connection.setAddress(request.getAddress(), TelecomManager.PRESENTATION_ALLOWED);
-        connection.setInitializing();
-        connection.onAddedToCallService();
-        boolean attemptCall = true;
-
-        if (!SipUtil.isVoipSupported(this)) {
-            final CharSequence description = getString(R.string.no_voip);
-            connection.setDisconnected(new android.telecom.DisconnectCause(
-                    android.telecom.DisconnectCause.ERROR, null, description,
-                    "VoIP unsupported"));
-            attemptCall = false;
-        }
-
-        if (attemptCall && !isNetworkConnected()) {
-            if (VERBOSE) log("start, network not connected, dropping call");
-            final boolean wifiOnly = SipManager.isSipWifiOnly(this);
-            final CharSequence description = getString(wifiOnly ? R.string.no_wifi_available
-                    : R.string.no_internet_available);
-            connection.setDisconnected(new android.telecom.DisconnectCause(
-                    android.telecom.DisconnectCause.ERROR, null, description,
-                    "Network not connected"));
-            attemptCall = false;
-        }
-
-        if (attemptCall) {
-            // The ID used for SIP-based phone account is the SIP profile Uri. Use it to find
-            // the actual profile.
-            String profileName = accountHandle.getId();
-            findProfile(profileName, new IProfileFinderCallback() {
-                @Override
-                public void onFound(SipProfile profile) {
-                    if (profile == null) {
-                        connection.setDisconnected(DisconnectCauseUtil.toTelecomDisconnectCause(
-                                DisconnectCause.OUTGOING_FAILURE, "SIP profile not found."));
-                        connection.destroy();
-                    } else {
-                        com.android.internal.telephony.Connection chosenConnection =
-                                createConnectionForProfile(profile, request);
-                        if (chosenConnection == null) {
-                            connection.setDisconnected(DisconnectCauseUtil.toTelecomDisconnectCause(
-                                    DisconnectCause.OUTGOING_FAILURE, "Connection failed."));
-                            connection.destroy();
-                        } else {
-                            if (VERBOSE) log("initializing connection");
-                            connection.initialize(chosenConnection);
-                        }
-                    }
-                }
-            });
-        }
-
-        return connection;
-    }
-
-    @Override
-    public Connection onCreateIncomingConnection(
-            PhoneAccountHandle connectionManagerAccount,
-            ConnectionRequest request) {
-        if (VERBOSE) log("onCreateIncomingConnection, request: " + request);
-
-        if (request.getExtras() == null) {
-            if (VERBOSE) log("onCreateIncomingConnection, no extras");
-            return Connection.createFailedConnection(DisconnectCauseUtil.toTelecomDisconnectCause(
-                    DisconnectCause.ERROR_UNSPECIFIED, "No extras on request."));
-        }
-
-        Intent sipIntent = (Intent) request.getExtras().getParcelable(
-                SipUtil.EXTRA_INCOMING_CALL_INTENT);
-        if (sipIntent == null) {
-            if (VERBOSE) log("onCreateIncomingConnection, no SIP intent");
-            return Connection.createFailedConnection(DisconnectCauseUtil.toTelecomDisconnectCause(
-                    DisconnectCause.ERROR_UNSPECIFIED, "No SIP intent."));
-        }
-
-        SipAudioCall sipAudioCall;
-        try {
-            sipAudioCall = SipManager.newInstance(this).takeAudioCall(sipIntent, null);
-        } catch (SipException e) {
-            log("onCreateIncomingConnection, takeAudioCall exception: " + e);
-            return Connection.createCanceledConnection();
-        }
-
-        SipPhone phone = findPhoneForProfile(sipAudioCall.getLocalProfile());
-        if (phone == null) {
-            phone = createPhoneForProfile(sipAudioCall.getLocalProfile());
-        }
-        if (phone != null) {
-            com.android.internal.telephony.Connection originalConnection = phone.takeIncomingCall(
-                    sipAudioCall);
-            if (VERBOSE) log("onCreateIncomingConnection, new connection: " + originalConnection);
-            if (originalConnection != null) {
-                SipConnection sipConnection = new SipConnection();
-                sipConnection.initialize(originalConnection);
-                sipConnection.onAddedToCallService();
-                return sipConnection;
-            } else {
-                if (VERBOSE) log("onCreateIncomingConnection, takingIncomingCall failed");
-                return Connection.createCanceledConnection();
-            }
-        }
-        return Connection.createFailedConnection(DisconnectCauseUtil.toTelecomDisconnectCause(
-                DisconnectCause.ERROR_UNSPECIFIED));
-    }
-
-    private com.android.internal.telephony.Connection createConnectionForProfile(
-            SipProfile profile,
-            ConnectionRequest request) {
-        SipPhone phone = findPhoneForProfile(profile);
-        if (phone == null) {
-            phone = createPhoneForProfile(profile);
-        }
-        if (phone != null) {
-            return startCallWithPhone(phone, request);
-        }
-        return null;
-    }
-
-    /**
-     * Searched for the specified profile in the SIP profile database.  This can take a long time
-     * in communicating with the database, so it is done asynchronously with a separate thread and a
-     * callback interface.
-     */
-    private void findProfile(final String profileName, final IProfileFinderCallback callback) {
-        if (VERBOSE) log("findProfile");
-        new Thread(new Runnable() {
-            @Override
-            public void run() {
-                SipProfile profileToUse = null;
-                List<SipProfile> profileList = mSipProfileDb.retrieveSipProfileList();
-                if (profileList != null) {
-                    for (SipProfile profile : profileList) {
-                        if (Objects.equals(profileName, profile.getProfileName())) {
-                            profileToUse = profile;
-                            break;
-                        }
-                    }
-                }
-
-                final SipProfile profileFound = profileToUse;
-                mHandler.post(new Runnable() {
-                    @Override
-                    public void run() {
-                        callback.onFound(profileFound);
-                    }
-                });
-            }
-        }).start();
-    }
-
-    private SipPhone findPhoneForProfile(SipProfile profile) {
-        if (VERBOSE) log("findPhoneForProfile, profile: " + profile);
-        for (Connection connection : getAllConnections()) {
-            if (connection instanceof SipConnection) {
-                SipPhone phone = ((SipConnection) connection).getPhone();
-                if (phone != null && phone.getSipUri().equals(profile.getUriString())) {
-                    if (VERBOSE) log("findPhoneForProfile, found existing phone: " + phone);
-                    return phone;
-                }
-            }
-        }
-        if (VERBOSE) log("findPhoneForProfile, no phone found");
-        return null;
-    }
-
-    private SipPhone createPhoneForProfile(SipProfile profile) {
-        if (VERBOSE) log("createPhoneForProfile, profile: " + profile);
-        return PhoneFactory.makeSipPhone(profile.getUriString());
-    }
-
-    private com.android.internal.telephony.Connection startCallWithPhone(
-            SipPhone phone, ConnectionRequest request) {
-        String number = request.getAddress().getSchemeSpecificPart();
-        if (VERBOSE) log("startCallWithPhone, number: " + number);
-
-        try {
-            com.android.internal.telephony.Connection originalConnection =
-                    phone.dial(number, new PhoneInternalInterface.DialArgs.Builder<>()
-                            .setVideoState(request.getVideoState())
-                            .build());
-            return originalConnection;
-        } catch (CallStateException e) {
-            log("startCallWithPhone, exception: " + e);
-            return null;
-        }
-    }
-
-    private boolean isNetworkConnected() {
-        ConnectivityManager cm =
-                (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
-        if (cm != null) {
-            NetworkInfo ni = cm.getActiveNetworkInfo();
-            if (ni != null && ni.isConnected()) {
-                return ni.getType() == ConnectivityManager.TYPE_WIFI ||
-                        !SipManager.isSipWifiOnly(this);
-            }
-        }
-        return false;
-    }
-
-    private static void log(String msg) {
-        Log.d(SipUtil.LOG_TAG, PREFIX + msg);
-    }
-}
diff --git a/sip/src/com/android/services/telephony/sip/SipEditor.java b/sip/src/com/android/services/telephony/sip/SipEditor.java
deleted file mode 100644
index dd475e6..0000000
--- a/sip/src/com/android/services/telephony/sip/SipEditor.java
+++ /dev/null
@@ -1,630 +0,0 @@
-/*
- * Copyright (C) 2010 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.services.telephony.sip;
-
-import android.app.AlertDialog;
-import android.app.Dialog;
-import android.app.DialogFragment;
-import android.content.Intent;
-import android.net.sip.SipProfile;
-import android.os.Bundle;
-import android.os.Parcelable;
-import android.preference.CheckBoxPreference;
-import android.preference.EditTextPreference;
-import android.preference.ListPreference;
-import android.preference.Preference;
-import android.preference.PreferenceActivity;
-import android.preference.PreferenceGroup;
-import android.text.TextUtils;
-import android.util.Log;
-import android.view.KeyEvent;
-import android.view.Menu;
-import android.view.MenuItem;
-import android.widget.Button;
-import android.widget.Toast;
-
-import java.io.IOException;
-import java.lang.reflect.Method;
-import java.util.Arrays;
-
-/**
- * The activity class for editing a new or existing SIP profile.
- */
-public class SipEditor extends PreferenceActivity
-        implements Preference.OnPreferenceChangeListener {
-    private static final String PREFIX = "[SipEditor] ";
-    private static final boolean VERBOSE = false; /* STOP SHIP if true */
-
-    private static final int MENU_SAVE = Menu.FIRST;
-    private static final int MENU_DISCARD = Menu.FIRST + 1;
-    private static final int MENU_REMOVE = Menu.FIRST + 2;
-
-    private static final String KEY_PROFILE = "profile";
-    private static final String GET_METHOD_PREFIX = "get";
-    private static final char SCRAMBLED = '*';
-    private static final int NA = 0;
-
-    private AdvancedSettings mAdvancedSettings;
-    private SipPreferences mSipPreferences;
-    private boolean mDisplayNameSet;
-    private boolean mHomeButtonClicked;
-    private boolean mUpdateRequired;
-
-    private SipProfileDb mProfileDb;
-    private SipProfile mOldProfile;
-    private Button mRemoveButton;
-    private SipAccountRegistry mSipAccountRegistry;
-
-    /**
-     * Dialog fragment class to be used for displaying an alert dialog.
-     */
-    public static class AlertDialogFragment extends DialogFragment {
-        private static final String KEY_MESSAGE = "message";
-
-        /**
-         * Initialize the AlertDialogFragment instance.
-         *
-         * @param message the dialog message to display.
-         * @return the AlertDialogFragment.
-         */
-        public static AlertDialogFragment newInstance(String message) {
-            AlertDialogFragment frag = new AlertDialogFragment();
-            Bundle args = new Bundle();
-            args.putString(KEY_MESSAGE, message);
-            frag.setArguments(args);
-            return frag;
-        }
-
-        @Override
-        public Dialog onCreateDialog(Bundle savedInstanceState) {
-            String message = getArguments().getString(KEY_MESSAGE);
-
-            return new AlertDialog.Builder(getActivity())
-                    .setTitle(android.R.string.dialog_alert_title)
-                    .setIconAttribute(android.R.attr.alertDialogIcon)
-                    .setMessage(message)
-                    .setPositiveButton(R.string.alert_dialog_ok, null)
-                    .create();
-        }
-    }
-
-    enum PreferenceKey {
-        Username(R.string.username, 0, R.string.default_preference_summary_username),
-        Password(R.string.password, 0, R.string.default_preference_summary_password),
-        DomainAddress(R.string.domain_address, 0,
-                R.string.default_preference_summary_domain_address),
-        DisplayName(R.string.display_name, 0, R.string.display_name_summary),
-        ProxyAddress(R.string.proxy_address, 0, R.string.optional_summary),
-        Port(R.string.port, R.string.default_port, R.string.default_port),
-        Transport(R.string.transport, R.string.default_transport, NA),
-        SendKeepAlive(R.string.send_keepalive, R.string.sip_system_decide, NA),
-        AuthUserName(R.string.auth_username, 0, R.string.optional_summary);
-
-        final int text;
-        final int initValue;
-        final int defaultSummary;
-        Preference preference;
-
-        /**
-         * @param key The key name of the preference.
-         * @param initValue The initial value of the preference.
-         * @param defaultSummary The default summary value of the preference
-         *        when the preference value is empty.
-         */
-        PreferenceKey(int text, int initValue, int defaultSummary) {
-            this.text = text;
-            this.initValue = initValue;
-            this.defaultSummary = defaultSummary;
-        }
-
-        String getValue() {
-            if (preference instanceof EditTextPreference) {
-                return ((EditTextPreference) preference).getText();
-            } else if (preference instanceof ListPreference) {
-                return ((ListPreference) preference).getValue();
-            }
-            throw new RuntimeException("getValue() for the preference " + this);
-        }
-
-        void setValue(String value) {
-            if (preference instanceof EditTextPreference) {
-                String oldValue = getValue();
-                ((EditTextPreference) preference).setText(value);
-                if (this != Password) {
-                    if (VERBOSE) {
-                        log(this + ": setValue() " + value + ": " + oldValue + " --> " +
-                                getValue());
-                    }
-                }
-            } else if (preference instanceof ListPreference) {
-                ((ListPreference) preference).setValue(value);
-            }
-
-            if (TextUtils.isEmpty(value)) {
-                preference.setSummary(defaultSummary);
-            } else if (this == Password) {
-                preference.setSummary(scramble(value));
-            } else if ((this == DisplayName)
-                    && value.equals(getDefaultDisplayName())) {
-                preference.setSummary(defaultSummary);
-            } else {
-                preference.setSummary(value);
-            }
-        }
-    }
-
-    @Override
-    public void onResume() {
-        super.onResume();
-        mHomeButtonClicked = false;
-        if (!SipUtil.isPhoneIdle(this)) {
-            mAdvancedSettings.show();
-            getPreferenceScreen().setEnabled(false);
-            if (mRemoveButton != null) mRemoveButton.setEnabled(false);
-        } else {
-            getPreferenceScreen().setEnabled(true);
-            if (mRemoveButton != null) mRemoveButton.setEnabled(true);
-        }
-    }
-
-    @Override
-    public void onCreate(Bundle savedInstanceState) {
-        if (VERBOSE) log("onCreate, start profile editor");
-        super.onCreate(savedInstanceState);
-
-        mSipPreferences = new SipPreferences(this);
-        mProfileDb = new SipProfileDb(this);
-        mSipAccountRegistry = SipAccountRegistry.getInstance();
-
-        setContentView(R.layout.sip_settings_ui);
-        addPreferencesFromResource(R.xml.sip_edit);
-
-        SipProfile p = mOldProfile = (SipProfile) ((savedInstanceState == null)
-                ? getIntent().getParcelableExtra(SipSettings.KEY_SIP_PROFILE)
-                : savedInstanceState.getParcelable(KEY_PROFILE));
-
-        PreferenceGroup screen = (PreferenceGroup) getPreferenceScreen();
-        for (int i = 0, n = screen.getPreferenceCount(); i < n; i++) {
-            setupPreference(screen.getPreference(i));
-        }
-
-        if (p == null) {
-            screen.setTitle(R.string.sip_edit_new_title);
-        }
-
-        mAdvancedSettings = new AdvancedSettings();
-
-        loadPreferencesFromProfile(p);
-    }
-
-    @Override
-    public void onPause() {
-        if (VERBOSE) log("onPause, finishing: " + isFinishing());
-        if (!isFinishing()) {
-            mHomeButtonClicked = true;
-            validateAndSetResult();
-        }
-        super.onPause();
-    }
-
-    @Override
-    public boolean onCreateOptionsMenu(Menu menu) {
-        super.onCreateOptionsMenu(menu);
-        menu.add(0, MENU_DISCARD, 0, R.string.sip_menu_discard)
-                .setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM);
-        menu.add(0, MENU_SAVE, 0, R.string.sip_menu_save)
-                .setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM);
-        menu.add(0, MENU_REMOVE, 0, R.string.remove_sip_account)
-                .setShowAsAction(MenuItem.SHOW_AS_ACTION_NEVER);
-        return true;
-    }
-
-    @Override
-    public boolean onPrepareOptionsMenu(Menu menu) {
-        MenuItem removeMenu = menu.findItem(MENU_REMOVE);
-        removeMenu.setVisible(mOldProfile != null);
-        menu.findItem(MENU_SAVE).setEnabled(mUpdateRequired);
-        return super.onPrepareOptionsMenu(menu);
-    }
-
-    @Override
-    public boolean onOptionsItemSelected(MenuItem item) {
-        switch (item.getItemId()) {
-            case MENU_SAVE:
-                validateAndSetResult();
-                return true;
-
-            case MENU_DISCARD:
-                finish();
-                return true;
-
-            case MENU_REMOVE: {
-                setRemovedProfileAndFinish();
-                return true;
-            }
-            case android.R.id.home: {
-                finish();
-                return true;
-            }
-        }
-        return super.onOptionsItemSelected(item);
-    }
-
-    @Override
-    public boolean onKeyDown(int keyCode, KeyEvent event) {
-        switch (keyCode) {
-            case KeyEvent.KEYCODE_BACK:
-                validateAndSetResult();
-                return true;
-        }
-        return super.onKeyDown(keyCode, event);
-    }
-
-    /**
-     * Saves a {@link SipProfile} and registers the associated
-     * {@link android.telecom.PhoneAccount}.
-     *
-     * @param p The {@link SipProfile} to register.
-     * @param enableProfile {@code true} if profile should be enabled, too.
-     * @throws IOException Exception resulting from profile save.
-     */
-    private void saveAndRegisterProfile(SipProfile p, boolean enableProfile) throws IOException {
-        if (p == null) return;
-        mProfileDb.saveProfile(p);
-        mSipAccountRegistry.startSipService(this, p.getProfileName(), enableProfile);
-    }
-
-    /**
-     * Deletes a {@link SipProfile} and un-registers the associated
-     * {@link android.telecom.PhoneAccount}.
-     *
-     * @param p The {@link SipProfile} to delete.
-     */
-    private void deleteAndUnregisterProfile(SipProfile p) throws IOException {
-        if (p == null) return;
-        mProfileDb.deleteProfile(p);
-        mSipAccountRegistry.stopSipService(this, p.getProfileName());
-    }
-
-    private void setRemovedProfileAndFinish() {
-        Intent intent = new Intent(this, SipSettings.class);
-        setResult(RESULT_FIRST_USER, intent);
-        Toast.makeText(this, R.string.removing_account, Toast.LENGTH_SHORT)
-                .show();
-        replaceProfile(mOldProfile, null);
-        // do finish() in replaceProfile() in a background thread
-    }
-
-    private void showAlert(Throwable e) {
-        String msg = e.getMessage();
-        if (TextUtils.isEmpty(msg)) msg = e.toString();
-        showAlert(msg);
-    }
-
-    private void showAlert(final String message) {
-        if (mHomeButtonClicked) {
-            if (VERBOSE) log("Home button clicked, don't show dialog: " + message);
-            return;
-        }
-
-        AlertDialogFragment newFragment = AlertDialogFragment.newInstance(message);
-        newFragment.show(getFragmentManager(), null);
-    }
-
-    private boolean isEditTextEmpty(PreferenceKey key) {
-        EditTextPreference pref = (EditTextPreference) key.preference;
-        return TextUtils.isEmpty(pref.getText())
-                || pref.getSummary().equals(getString(key.defaultSummary));
-    }
-
-    private void validateAndSetResult() {
-        boolean allEmpty = true;
-        CharSequence firstEmptyFieldTitle = null;
-        for (PreferenceKey key : PreferenceKey.values()) {
-            Preference p = key.preference;
-            if (p instanceof EditTextPreference) {
-                EditTextPreference pref = (EditTextPreference) p;
-                boolean fieldEmpty = isEditTextEmpty(key);
-                if (allEmpty && !fieldEmpty) allEmpty = false;
-
-                // use default value if display name is empty
-                if (fieldEmpty) {
-                    switch (key) {
-                        case DisplayName:
-                            pref.setText(getDefaultDisplayName());
-                            break;
-                        case AuthUserName:
-                        case ProxyAddress:
-                            // optional; do nothing
-                            break;
-                        case Port:
-                            pref.setText(getString(R.string.default_port));
-                            break;
-                        default:
-                            if (firstEmptyFieldTitle == null) {
-                                firstEmptyFieldTitle = pref.getTitle();
-                            }
-                    }
-                } else if (key == PreferenceKey.Port) {
-                    int port;
-                    try {
-                        port = Integer.parseInt(PreferenceKey.Port.getValue());
-                    } catch (NumberFormatException e) {
-                        showAlert(getString(R.string.not_a_valid_port));
-                        return;
-                    }
-                    if ((port < 1000) || (port > 65534)) {
-                        showAlert(getString(R.string.not_a_valid_port));
-                        return;
-                    }
-                }
-            }
-        }
-
-        if (!mUpdateRequired) {
-            finish();
-            return;
-        } else if (allEmpty) {
-            showAlert(getString(R.string.all_empty_alert));
-            return;
-        } else if (firstEmptyFieldTitle != null) {
-            showAlert(getString(R.string.empty_alert, firstEmptyFieldTitle));
-            return;
-        }
-        try {
-            SipProfile profile = createSipProfile();
-            Intent intent = new Intent(this, SipSettings.class);
-            intent.putExtra(SipSettings.KEY_SIP_PROFILE, (Parcelable) profile);
-            setResult(RESULT_OK, intent);
-            Toast.makeText(this, R.string.saving_account, Toast.LENGTH_SHORT).show();
-
-            replaceProfile(mOldProfile, profile);
-            // do finish() in replaceProfile() in a background thread
-        } catch (Exception e) {
-            log("validateAndSetResult, can not create new SipProfile, exception: " + e);
-            showAlert(e);
-        }
-    }
-
-    private void replaceProfile(final SipProfile oldProfile, final SipProfile newProfile) {
-        // Replace profile in a background thread as it takes time to access the
-        // storage; do finish() once everything goes fine.
-        // newProfile may be null if the old profile is to be deleted rather
-        // than being modified.
-        new Thread(new Runnable() {
-            public void run() {
-                try {
-                    deleteAndUnregisterProfile(oldProfile);
-                    boolean autoEnableNewProfile = oldProfile == null;
-                    saveAndRegisterProfile(newProfile, autoEnableNewProfile);
-                    finish();
-                } catch (Exception e) {
-                    log("replaceProfile, can not save/register new SipProfile, exception: " + e);
-                    showAlert(e);
-                }
-            }
-        }, "SipEditor").start();
-    }
-
-    private String getProfileName() {
-        return PreferenceKey.Username.getValue() + "@"
-                + PreferenceKey.DomainAddress.getValue();
-    }
-
-    private SipProfile createSipProfile() throws Exception {
-        return new SipProfile.Builder(
-                PreferenceKey.Username.getValue(),
-                PreferenceKey.DomainAddress.getValue())
-                .setProfileName(getProfileName())
-                .setPassword(PreferenceKey.Password.getValue())
-                .setOutboundProxy(PreferenceKey.ProxyAddress.getValue())
-                .setProtocol(PreferenceKey.Transport.getValue())
-                .setDisplayName(PreferenceKey.DisplayName.getValue())
-                .setPort(Integer.parseInt(PreferenceKey.Port.getValue()))
-                .setSendKeepAlive(isAlwaysSendKeepAlive())
-                .setAutoRegistration(
-                        mSipPreferences.isReceivingCallsEnabled())
-                .setAuthUserName(PreferenceKey.AuthUserName.getValue())
-                .build();
-    }
-
-    public boolean onPreferenceChange(Preference pref, Object newValue) {
-        if (!mUpdateRequired) {
-            mUpdateRequired = true;
-        }
-
-        if (pref instanceof CheckBoxPreference) {
-            invalidateOptionsMenu();
-            return true;
-        }
-        String value = (newValue == null) ? "" : newValue.toString();
-        if (TextUtils.isEmpty(value)) {
-            pref.setSummary(getPreferenceKey(pref).defaultSummary);
-        } else if (pref == PreferenceKey.Password.preference) {
-            pref.setSummary(scramble(value));
-        } else {
-            pref.setSummary(value);
-        }
-
-        if (pref == PreferenceKey.DisplayName.preference) {
-            ((EditTextPreference) pref).setText(value);
-            checkIfDisplayNameSet();
-        }
-
-        // SAVE menu should be enabled once the user modified some preference.
-        invalidateOptionsMenu();
-        return true;
-    }
-
-    private PreferenceKey getPreferenceKey(Preference pref) {
-        for (PreferenceKey key : PreferenceKey.values()) {
-            if (key.preference == pref) return key;
-        }
-        throw new RuntimeException("not possible to reach here");
-    }
-
-    private void loadPreferencesFromProfile(SipProfile p) {
-        if (p != null) {
-            if (VERBOSE) log("loadPreferencesFromProfile, existing profile: " + p.getProfileName());
-            try {
-                Class profileClass = SipProfile.class;
-                for (PreferenceKey key : PreferenceKey.values()) {
-                    Method meth = profileClass.getMethod(GET_METHOD_PREFIX
-                            + getString(key.text), (Class[])null);
-                    if (key == PreferenceKey.SendKeepAlive) {
-                        boolean value = ((Boolean) meth.invoke(p, (Object[]) null)).booleanValue();
-                        key.setValue(getString(value
-                                ? R.string.sip_always_send_keepalive
-                                : R.string.sip_system_decide));
-                    } else {
-                        Object value = meth.invoke(p, (Object[])null);
-                        key.setValue((value == null) ? "" : value.toString());
-                    }
-                }
-                checkIfDisplayNameSet();
-            } catch (Exception e) {
-                log("loadPreferencesFromProfile, can not load pref from profile, exception: " + e);
-            }
-        } else {
-            if (VERBOSE) log("loadPreferencesFromProfile, edit a new profile");
-            for (PreferenceKey key : PreferenceKey.values()) {
-                key.preference.setOnPreferenceChangeListener(this);
-
-                // FIXME: android:defaultValue in preference xml file doesn't
-                // work. Even if we setValue() for each preference in the case
-                // of (p != null), the dialog still shows android:defaultValue,
-                // not the value set by setValue(). This happens if
-                // android:defaultValue is not empty. Is it a bug?
-                if (key.initValue != 0) {
-                    key.setValue(getString(key.initValue));
-                }
-            }
-            mDisplayNameSet = false;
-        }
-    }
-
-    private boolean isAlwaysSendKeepAlive() {
-        ListPreference pref = (ListPreference) PreferenceKey.SendKeepAlive.preference;
-        return getString(R.string.sip_always_send_keepalive).equals(pref.getValue());
-    }
-
-    private void setCheckBox(PreferenceKey key, boolean checked) {
-        CheckBoxPreference pref = (CheckBoxPreference) key.preference;
-        pref.setChecked(checked);
-    }
-
-    private void setupPreference(Preference pref) {
-        pref.setOnPreferenceChangeListener(this);
-        for (PreferenceKey key : PreferenceKey.values()) {
-            String name = getString(key.text);
-            if (name.equals(pref.getKey())) {
-                key.preference = pref;
-                return;
-            }
-        }
-    }
-
-    private void checkIfDisplayNameSet() {
-        String displayName = PreferenceKey.DisplayName.getValue();
-        mDisplayNameSet = !TextUtils.isEmpty(displayName)
-                && !displayName.equals(getDefaultDisplayName());
-        if (VERBOSE) log("checkIfDisplayNameSet, displayName set: " + mDisplayNameSet);
-        if (mDisplayNameSet) {
-            PreferenceKey.DisplayName.preference.setSummary(displayName);
-        } else {
-            PreferenceKey.DisplayName.setValue("");
-        }
-    }
-
-    private static String getDefaultDisplayName() {
-        return PreferenceKey.Username.getValue();
-    }
-
-    private static String scramble(String s) {
-        char[] cc = new char[s.length()];
-        Arrays.fill(cc, SCRAMBLED);
-        return new String(cc);
-    }
-
-    private class AdvancedSettings implements Preference.OnPreferenceClickListener {
-        private Preference mAdvancedSettingsTrigger;
-        private Preference[] mPreferences;
-        private boolean mShowing = false;
-
-        AdvancedSettings() {
-            mAdvancedSettingsTrigger = getPreferenceScreen().findPreference(
-                    getString(R.string.advanced_settings));
-            mAdvancedSettingsTrigger.setOnPreferenceClickListener(this);
-
-            loadAdvancedPreferences();
-        }
-
-        private void loadAdvancedPreferences() {
-            PreferenceGroup screen = (PreferenceGroup) getPreferenceScreen();
-
-            addPreferencesFromResource(R.xml.sip_advanced_edit);
-            PreferenceGroup group = (PreferenceGroup) screen.findPreference(
-                    getString(R.string.advanced_settings_container));
-            screen.removePreference(group);
-
-            mPreferences = new Preference[group.getPreferenceCount()];
-            int order = screen.getPreferenceCount();
-            for (int i = 0, n = mPreferences.length; i < n; i++) {
-                Preference pref = group.getPreference(i);
-                pref.setOrder(order++);
-                setupPreference(pref);
-                mPreferences[i] = pref;
-            }
-        }
-
-        void show() {
-            mShowing = true;
-            mAdvancedSettingsTrigger.setSummary(R.string.advanced_settings_hide);
-            PreferenceGroup screen = (PreferenceGroup) getPreferenceScreen();
-            for (Preference pref : mPreferences) {
-                screen.addPreference(pref);
-                if (VERBOSE) {
-                    log("AdvancedSettings.show, pref: " + pref.getKey() + ", order: " +
-                            pref.getOrder());
-                }
-            }
-        }
-
-        private void hide() {
-            mShowing = false;
-            mAdvancedSettingsTrigger.setSummary(R.string.advanced_settings_show);
-            PreferenceGroup screen = (PreferenceGroup) getPreferenceScreen();
-            for (Preference pref : mPreferences) {
-                screen.removePreference(pref);
-            }
-        }
-
-        public boolean onPreferenceClick(Preference preference) {
-            if (VERBOSE) log("AdvancedSettings.onPreferenceClick");
-            if (!mShowing) {
-                show();
-            } else {
-                hide();
-            }
-            return true;
-        }
-    }
-
-    private static void log(String msg) {
-        Log.d(SipUtil.LOG_TAG, PREFIX + msg);
-    }
-}
diff --git a/sip/src/com/android/services/telephony/sip/SipIncomingCallReceiver.java b/sip/src/com/android/services/telephony/sip/SipIncomingCallReceiver.java
deleted file mode 100644
index 2dbd707..0000000
--- a/sip/src/com/android/services/telephony/sip/SipIncomingCallReceiver.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*
- * Copyright (C) 2010 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.services.telephony.sip;
-
-import android.content.BroadcastReceiver;
-import android.content.Context;
-import android.content.Intent;
-import android.net.sip.SipManager;
-import android.os.Bundle;
-import android.os.UserHandle;
-import android.telecom.PhoneAccount;
-import android.telecom.PhoneAccountHandle;
-import android.telecom.TelecomManager;
-import android.text.TextUtils;
-import android.util.Log;
-
-/**
- * Broadcast receiver that handles explicit incoming call intents
- */
-public class SipIncomingCallReceiver extends BroadcastReceiver {
-    private static final String PREFIX = "[SipIncomingCallReceiver] ";
-    private static final boolean VERBOSE = false; /* STOP SHIP if true */
-
-    @Override
-    public void onReceive(Context context, final Intent intent) {
-        String action = intent.getAction();
-
-        if (TextUtils.isEmpty(action)) {
-            log("SipIncomingCallReceiver called with no action");
-            return;
-        }
-
-        if (!isRunningInSystemUser()) {
-            if (VERBOSE) log("SipIncomingCallReceiver only run in system user, ignore " + action);
-            return;
-        }
-
-        if (!SipUtil.isVoipSupported(context)) {
-            if (VERBOSE) log("SIP VOIP not supported: " + action);
-            return;
-        }
-
-        if (action.equals(SipManager.ACTION_SIP_INCOMING_CALL)) {
-            takeCall(context, intent);
-        } else {
-            if (VERBOSE) log("onReceive, action not processed: " + action);
-        }
-    }
-
-    private void takeCall(Context context, Intent intent) {
-        if (VERBOSE) log("takeCall, intent: " + intent);
-        PhoneAccountHandle accountHandle = null;
-        try {
-            accountHandle = intent.getParcelableExtra(SipUtil.EXTRA_PHONE_ACCOUNT);
-        } catch (ClassCastException e) {
-            log("takeCall, Bad account handle detected. Bailing!");
-            return;
-        }
-        if (accountHandle != null) {
-            Bundle extras = new Bundle();
-            extras.putParcelable(SipUtil.EXTRA_INCOMING_CALL_INTENT, intent);
-            TelecomManager tm = context.getSystemService(TelecomManager.class);
-            PhoneAccount phoneAccount = tm.getPhoneAccount(accountHandle);
-            if (phoneAccount != null && phoneAccount.isEnabled()) {
-                tm.addNewIncomingCall(accountHandle, extras);
-            } else {
-                log("takeCall, PhoneAccount is disabled. Not accepting incoming call...");
-            }
-        }
-    }
-
-    private boolean isRunningInSystemUser() {
-        return UserHandle.myUserId() == UserHandle.SYSTEM.getIdentifier();
-    }
-
-    private static void log(String msg) {
-        Log.d(SipUtil.LOG_TAG, PREFIX + msg);
-    }
-}
diff --git a/sip/src/com/android/services/telephony/sip/SipPreferences.java b/sip/src/com/android/services/telephony/sip/SipPreferences.java
deleted file mode 100644
index f344497..0000000
--- a/sip/src/com/android/services/telephony/sip/SipPreferences.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * Copyright (C) 2010 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.services.telephony.sip;
-
-import android.content.Context;
-import android.content.Intent;
-import android.net.sip.SipManager;
-import android.provider.Settings;
-import android.provider.Settings.SettingNotFoundException;
-import android.util.Log;
-
-/**
- * Wrapper for SIP's preferences.
- */
-public class SipPreferences {
-    private static final String PREFIX = "[SipPreferences] ";
-    private static final boolean VERBOSE = false; /* STOP SHIP if true */
-
-    // Used to clear out old SharedPreferences file during SipProfile Database Migration
-    private static final String SIP_SHARED_PREFERENCES = "SIP_PREFERENCES";
-
-    private Context mContext;
-
-    public SipPreferences(Context context) {
-        mContext = context;
-    }
-
-    public void setSipCallOption(String option) {
-        Settings.System.putString(mContext.getContentResolver(),
-                Settings.System.SIP_CALL_OPTIONS, option);
-
-        // Notify SipAccountRegistry in the telephony layer that the configuration has changed.
-        // This causes the SIP PhoneAccounts to be re-registered.  This ensures the supported URI
-        // schemes for the SIP PhoneAccounts matches the new SIP_CALL_OPTIONS setting.
-        Intent intent = new Intent(SipManager.ACTION_SIP_CALL_OPTION_CHANGED);
-        mContext.sendBroadcast(intent);
-    }
-
-    public String getSipCallOption() {
-        String option = Settings.System.getString(mContext.getContentResolver(),
-                Settings.System.SIP_CALL_OPTIONS);
-        return (option != null) ? option
-                                : mContext.getString(R.string.sip_address_only);
-    }
-
-    public void setReceivingCallsEnabled(boolean enabled) {
-        Settings.System.putInt(mContext.getContentResolver(),
-                Settings.System.SIP_RECEIVE_CALLS, (enabled ? 1 : 0));
-    }
-
-    public boolean isReceivingCallsEnabled() {
-        try {
-            return (Settings.System.getInt(mContext.getContentResolver(),
-                    Settings.System.SIP_RECEIVE_CALLS) != 0);
-        } catch (SettingNotFoundException e) {
-            log("isReceivingCallsEnabled, option not set; use default value, exception: " + e);
-            return false;
-        }
-    }
-
-    /**
-     * Remove obsolete SharedPreferences File upon upgrade from M->N.
-     */
-    public void clearSharedPreferences() {
-        mContext.deleteSharedPreferences(SIP_SHARED_PREFERENCES);
-    }
-
-    // TODO: back up to Android Backup
-
-    private static void log(String msg) {
-        Log.d(SipUtil.LOG_TAG, PREFIX + msg);
-    }
-}
diff --git a/sip/src/com/android/services/telephony/sip/SipProfileDb.java b/sip/src/com/android/services/telephony/sip/SipProfileDb.java
deleted file mode 100644
index 812ebb4..0000000
--- a/sip/src/com/android/services/telephony/sip/SipProfileDb.java
+++ /dev/null
@@ -1,198 +0,0 @@
-/*
- * Copyright (C) 2010 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.services.telephony.sip;
-
-import android.content.Context;
-import android.net.sip.SipProfile;
-import android.text.TextUtils;
-import android.util.AtomicFile;
-import android.util.EventLog;
-import android.util.Log;
-
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.ObjectInputStream;
-import java.io.ObjectOutputStream;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
-/**
- * Utility class that helps perform operations on the SipProfile database.
- */
-class SipProfileDb {
-    private static final String PREFIX = "[SipProfileDb] ";
-    private static final boolean VERBOSE = false; /* STOP SHIP if true */
-
-    private static final String PROFILES_DIR = "/profiles/";
-    private static final String PROFILE_OBJ_FILE = ".pobj";
-
-    private static final String SCHEME_PREFIX = "sip:";
-
-    private Context mContext;
-    private String mProfilesDirectory;
-    private SipPreferences mSipPreferences;
-    private int mProfilesCount = -1;
-
-    public SipProfileDb(Context context) {
-        // Sip Profile Db should always reference CE storage.
-        mContext = context.createCredentialProtectedStorageContext();
-        setupDatabase();
-    }
-
-    // Only should be used during migration from M->N to move database
-    public void accessDEStorageForMigration() {
-        mContext = mContext.createDeviceProtectedStorageContext();
-        setupDatabase();
-    }
-
-    private void setupDatabase() {
-        mProfilesDirectory = mContext.getFilesDir().getAbsolutePath() + PROFILES_DIR;
-        mSipPreferences = new SipPreferences(mContext);
-    }
-
-    public void deleteProfile(SipProfile p) throws IOException {
-        synchronized(SipProfileDb.class) {
-            File profileFile = new File(mProfilesDirectory, p.getProfileName());
-            if (!isChild(new File(mProfilesDirectory), profileFile)) {
-                throw new IOException("Invalid Profile Credentials!");
-            }
-            deleteProfile(profileFile);
-            if (mProfilesCount < 0) retrieveSipProfileListInternal();
-        }
-    }
-
-    private void deleteProfile(File file) {
-        if (file.isDirectory()) {
-            for (File child : file.listFiles()) deleteProfile(child);
-        }
-        file.delete();
-    }
-
-    public void cleanupUponMigration() {
-        // Remove empty .../profiles/ directory
-        File dbDir = new File(mProfilesDirectory);
-        if(dbDir.isDirectory()) {
-            dbDir.delete();
-        }
-        // Remove SharedPreferences file as well
-        mSipPreferences.clearSharedPreferences();
-    }
-
-    public void saveProfile(SipProfile p) throws IOException {
-        synchronized(SipProfileDb.class) {
-            if (mProfilesCount < 0) retrieveSipProfileListInternal();
-            File f = new File(mProfilesDirectory, p.getProfileName());
-            if (!isChild(new File(mProfilesDirectory), f)) {
-                throw new IOException("Invalid Profile Credentials!");
-            }
-            if (!f.exists()) f.mkdirs();
-            AtomicFile atomicFile = new AtomicFile(new File(f, PROFILE_OBJ_FILE));
-            FileOutputStream fos = null;
-            ObjectOutputStream oos = null;
-            try {
-                fos = atomicFile.startWrite();
-                oos = new ObjectOutputStream(fos);
-                oos.writeObject(p);
-                oos.flush();
-                atomicFile.finishWrite(fos);
-            } catch (IOException e) {
-                atomicFile.failWrite(fos);
-                throw e;
-            } finally {
-                if (oos != null) oos.close();
-            }
-        }
-    }
-
-    public List<SipProfile> retrieveSipProfileList() {
-        synchronized(SipProfileDb.class) {
-            return retrieveSipProfileListInternal();
-        }
-    }
-
-    private List<SipProfile> retrieveSipProfileListInternal() {
-        List<SipProfile> sipProfileList = Collections.synchronizedList(
-                new ArrayList<SipProfile>());
-
-        File root = new File(mProfilesDirectory);
-        String[] dirs = root.list();
-        if (dirs == null) return sipProfileList;
-        for (String dir : dirs) {
-            SipProfile p = retrieveSipProfileFromName(dir);
-            if (p == null) continue;
-            sipProfileList.add(p);
-        }
-        mProfilesCount = sipProfileList.size();
-        return sipProfileList;
-    }
-
-    public SipProfile retrieveSipProfileFromName(String name) {
-        if (TextUtils.isEmpty(name)) {
-            return null;
-        }
-
-        File root = new File(mProfilesDirectory);
-        File f = new File(new File(root, name), PROFILE_OBJ_FILE);
-        if (f.exists()) {
-            try {
-                SipProfile p = deserialize(f);
-                if (p != null && name.equals(p.getProfileName())) {
-                    return p;
-                }
-            } catch (IOException e) {
-                log("retrieveSipProfileListInternal, exception: " + e);
-            }
-        }
-        return null;
-    }
-
-    private SipProfile deserialize(File profileObjectFile) throws IOException {
-        AtomicFile atomicFile = new AtomicFile(profileObjectFile);
-        ObjectInputStream ois = null;
-        try {
-            ois = new ObjectInputStream(atomicFile.openRead());
-            SipProfile p = (SipProfile) ois.readObject();
-            return p;
-        } catch (ClassNotFoundException e) {
-            log("deserialize, exception: " + e);
-        } finally {
-            if (ois!= null) ois.close();
-        }
-        return null;
-    }
-
-    private static void log(String msg) {
-        Log.d(SipUtil.LOG_TAG, PREFIX + msg);
-    }
-
-    /**
-     * Verifies that the file is a direct child of the base directory.
-     */
-    private boolean isChild(File base, File file) {
-        if (base == null || file == null) {
-            return false;
-        }
-        if (!base.equals(file.getAbsoluteFile().getParentFile())) {
-            Log.w(SipUtil.LOG_TAG, "isChild, file is not a child of the base dir.");
-            EventLog.writeEvent(0x534e4554, "31530456", -1, "");
-            return false;
-        }
-        return true;
-    }
-}
diff --git a/sip/src/com/android/services/telephony/sip/SipSettings.java b/sip/src/com/android/services/telephony/sip/SipSettings.java
deleted file mode 100644
index 813ba51..0000000
--- a/sip/src/com/android/services/telephony/sip/SipSettings.java
+++ /dev/null
@@ -1,444 +0,0 @@
-/*
- * Copyright (C) 2010 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.services.telephony.sip;
-
-import android.app.ActionBar;
-import android.app.AlertDialog;
-import android.content.Context;
-import android.content.DialogInterface;
-import android.content.Intent;
-import android.content.pm.ApplicationInfo;
-import android.content.pm.PackageManager;
-import android.net.sip.SipErrorCode;
-import android.net.sip.SipException;
-import android.net.sip.SipManager;
-import android.net.sip.SipProfile;
-import android.net.sip.SipRegistrationListener;
-import android.os.Bundle;
-import android.os.Parcelable;
-import android.os.Process;
-import android.preference.Preference;
-import android.preference.PreferenceActivity;
-import android.preference.PreferenceCategory;
-import android.text.TextUtils;
-import android.util.Log;
-import android.view.Menu;
-import android.view.MenuItem;
-
-import com.android.phone.R;
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Map;
-
-/**
- * The PreferenceActivity class for managing sip profile preferences.
- */
-public class SipSettings extends PreferenceActivity {
-    public static final String SIP_SHARED_PREFERENCES = "SIP_PREFERENCES";
-
-    static final String KEY_SIP_PROFILE = "sip_profile";
-    static final int REQUEST_ADD_OR_EDIT_SIP_PROFILE = 1;
-
-    private static final String PREFIX = "[SipSettings] ";
-    private static final boolean VERBOSE = false; /* STOP SHIP if true */
-    private static final int MENU_ADD_ACCOUNT = Menu.FIRST;
-    private static final String PREF_SIP_LIST = "sip_account_list";
-
-    private PackageManager mPackageManager;
-    private SipManager mSipManager;
-    private SipProfileDb mProfileDb;
-    private SipProfile mProfile; // profile that's being edited
-    private PreferenceCategory mSipListContainer;
-    private Map<String, SipPreference> mSipPreferenceMap;
-    private List<SipProfile> mSipProfileList;
-    private SipPreferences mSipPreferences;
-    private int mUid = Process.myUid();
-
-    private class SipPreference extends Preference {
-        SipProfile mProfile;
-        SipPreference(Context c, SipProfile p) {
-            super(c);
-            setProfile(p);
-        }
-
-        SipProfile getProfile() {
-            return mProfile;
-        }
-
-        void setProfile(SipProfile p) {
-            mProfile = p;
-            setTitle(getProfileName(p));
-            updateSummary(mSipPreferences.isReceivingCallsEnabled()
-                    ? getString(R.string.registration_status_checking_status)
-                    : getString(R.string.registration_status_not_receiving));
-        }
-
-        void updateSummary(String registrationStatus) {
-            int profileUid = mProfile.getCallingUid();
-            if (VERBOSE) {
-                log("SipPreference.updateSummary, profile uid: " + profileUid +
-                        " registration: " + registrationStatus +
-                        " status: " + registrationStatus);
-            }
-            String summary = "";
-            if ((profileUid > 0) && (profileUid != mUid)) {
-                // from third party apps
-                summary = getString(R.string.third_party_account_summary,
-                        getPackageNameFromUid(profileUid));
-            } else {
-                summary = registrationStatus;
-            }
-            setSummary(summary);
-        }
-    }
-
-    private String getPackageNameFromUid(int uid) {
-        try {
-            String[] pkgs = mPackageManager.getPackagesForUid(uid);
-            ApplicationInfo ai = mPackageManager.getApplicationInfo(pkgs[0], 0);
-            return ai.loadLabel(mPackageManager).toString();
-        } catch (PackageManager.NameNotFoundException e) {
-            log("getPackageNameFromUid, cannot find name of uid: " + uid + ", exception: " + e);
-        }
-        return "uid:" + uid;
-    }
-
-    @Override
-    public void onCreate(Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-
-        mSipManager = SipManager.newInstance(this);
-        mSipPreferences = new SipPreferences(this);
-        mProfileDb = new SipProfileDb(this);
-
-        mPackageManager = getPackageManager();
-        setContentView(R.layout.sip_settings_ui);
-        addPreferencesFromResource(R.xml.sip_setting);
-        mSipListContainer = (PreferenceCategory) findPreference(PREF_SIP_LIST);
-
-        ActionBar actionBar = getActionBar();
-        if (actionBar != null) {
-            actionBar.setDisplayHomeAsUpEnabled(true);
-        }
-    }
-
-    @Override
-    public void onResume() {
-        super.onResume();
-        updateProfilesStatus();
-    }
-
-    @Override
-    protected void onDestroy() {
-        super.onDestroy();
-        unregisterForContextMenu(getListView());
-    }
-
-    @Override
-    protected void onActivityResult(final int requestCode, final int resultCode,
-            final Intent intent) {
-        if (resultCode != RESULT_OK && resultCode != RESULT_FIRST_USER) return;
-        new Thread() {
-            @Override
-            public void run() {
-                try {
-                    if (mProfile != null) {
-                        if (VERBOSE) log("onActivityResult, remove: " + mProfile.getProfileName());
-                        deleteProfile(mProfile);
-                    }
-
-                    SipProfile profile = intent.getParcelableExtra(KEY_SIP_PROFILE);
-                    if (resultCode == RESULT_OK) {
-                        if (VERBOSE) log("onActivityResult, new: " + profile.getProfileName());
-                        addProfile(profile);
-                    }
-                    updateProfilesStatus();
-                } catch (IOException e) {
-                    log("onActivityResult, can not handle the profile:  " + e);
-                }
-            }
-        }.start();
-    }
-
-    private void updateProfilesStatus() {
-        new Thread(new Runnable() {
-            @Override
-            public void run() {
-                try {
-                    retrieveSipLists();
-                } catch (Exception e) {
-                    log("updateProfilesStatus, exception: " + e);
-                }
-            }
-        }).start();
-    }
-
-    private String getProfileName(SipProfile profile) {
-        String profileName = profile.getProfileName();
-        if (TextUtils.isEmpty(profileName)) {
-            profileName = profile.getUserName() + "@" + profile.getSipDomain();
-        }
-        return profileName;
-    }
-
-    private void retrieveSipLists() {
-        mSipPreferenceMap = new LinkedHashMap<String, SipPreference>();
-        mSipProfileList = mProfileDb.retrieveSipProfileList();
-        processActiveProfilesFromSipService();
-        Collections.sort(mSipProfileList, new Comparator<SipProfile>() {
-            @Override
-            public int compare(SipProfile p1, SipProfile p2) {
-                return getProfileName(p1).compareTo(getProfileName(p2));
-            }
-
-            public boolean equals(SipProfile p) {
-                // not used
-                return false;
-            }
-        });
-        mSipListContainer.removeAll();
-        if (mSipProfileList.isEmpty()) {
-            getPreferenceScreen().removePreference(mSipListContainer);
-        } else {
-            getPreferenceScreen().addPreference(mSipListContainer);
-            for (SipProfile p : mSipProfileList) {
-                addPreferenceFor(p);
-            }
-        }
-
-        if (!mSipPreferences.isReceivingCallsEnabled()) return;
-        for (SipProfile p : mSipProfileList) {
-            if (mUid == p.getCallingUid()) {
-                try {
-                    mSipManager.setRegistrationListener(
-                            p.getUriString(), createRegistrationListener());
-                } catch (SipException e) {
-                    log("retrieveSipLists, cannot set registration listener: " + e);
-                }
-            }
-        }
-    }
-
-    private void processActiveProfilesFromSipService() {
-        List<SipProfile> activeList = new ArrayList<>();
-        try {
-            activeList = mSipManager.getProfiles();
-        } catch (SipException e) {
-            log("SipManager could not retrieve SIP profiles: " + e);
-        }
-        for (SipProfile activeProfile : activeList) {
-            SipProfile profile = getProfileFromList(activeProfile);
-            if (profile == null) {
-                mSipProfileList.add(activeProfile);
-            } else {
-                profile.setCallingUid(activeProfile.getCallingUid());
-            }
-        }
-    }
-
-    private SipProfile getProfileFromList(SipProfile activeProfile) {
-        for (SipProfile p : mSipProfileList) {
-            if (p.getUriString().equals(activeProfile.getUriString())) {
-                return p;
-            }
-        }
-        return null;
-    }
-
-    private void addPreferenceFor(SipProfile p) {
-        String status;
-        if (VERBOSE) log("addPreferenceFor, profile uri: " + p.getUri());
-        SipPreference pref = new SipPreference(this, p);
-        mSipPreferenceMap.put(p.getUriString(), pref);
-        mSipListContainer.addPreference(pref);
-
-        pref.setOnPreferenceClickListener(
-                new Preference.OnPreferenceClickListener() {
-                    @Override
-                    public boolean onPreferenceClick(Preference pref) {
-                        handleProfileClick(((SipPreference) pref).mProfile);
-                        return true;
-                    }
-                });
-    }
-
-    private void handleProfileClick(final SipProfile profile) {
-        int uid = profile.getCallingUid();
-        if (uid == mUid || uid == 0) {
-            startSipEditor(profile);
-            return;
-        }
-        new AlertDialog.Builder(this)
-                .setTitle(R.string.alert_dialog_close)
-                .setIconAttribute(android.R.attr.alertDialogIcon)
-                .setPositiveButton(R.string.close_profile,
-                        new DialogInterface.OnClickListener() {
-                            @Override
-                            public void onClick(DialogInterface dialog, int w) {
-                                deleteProfile(profile);
-                                unregisterProfile(profile);
-                            }
-                        })
-                .setNegativeButton(android.R.string.cancel, null)
-                .show();
-    }
-
-    private void unregisterProfile(final SipProfile p) {
-        // run it on background thread for better UI response
-        new Thread(new Runnable() {
-            @Override
-            public void run() {
-                try {
-                    mSipManager.close(p.getUriString());
-                } catch (Exception e) {
-                    log("unregisterProfile, unregister failed, SipService died? Exception: " + e);
-                }
-            }
-        }, "unregisterProfile").start();
-    }
-
-    void deleteProfile(SipProfile p) {
-        mSipProfileList.remove(p);
-        SipPreference pref = mSipPreferenceMap.remove(p.getUriString());
-        if (pref != null) {
-            mSipListContainer.removePreference(pref);
-        }
-    }
-
-    private void addProfile(SipProfile p) throws IOException {
-        try {
-            mSipManager.setRegistrationListener(p.getUriString(),
-                    createRegistrationListener());
-        } catch (Exception e) {
-            log("addProfile, cannot set registration listener: " + e);
-        }
-        mSipProfileList.add(p);
-        addPreferenceFor(p);
-    }
-
-    private void startSipEditor(final SipProfile profile) {
-        mProfile = profile;
-        Intent intent = new Intent(this, SipEditor.class);
-        intent.putExtra(KEY_SIP_PROFILE, (Parcelable) profile);
-        startActivityForResult(intent, REQUEST_ADD_OR_EDIT_SIP_PROFILE);
-    }
-
-    private void showRegistrationMessage(final String profileUri,
-            final String message) {
-        runOnUiThread(new Runnable() {
-            @Override
-            public void run() {
-                SipPreference pref = mSipPreferenceMap.get(profileUri);
-                if (pref != null) {
-                    pref.updateSummary(message);
-                }
-            }
-        });
-    }
-
-    private SipRegistrationListener createRegistrationListener() {
-        return new SipRegistrationListener() {
-            @Override
-            public void onRegistrationDone(String profileUri, long expiryTime) {
-                showRegistrationMessage(profileUri, getString(
-                        R.string.registration_status_done));
-            }
-
-            @Override
-            public void onRegistering(String profileUri) {
-                showRegistrationMessage(profileUri, getString(
-                        R.string.registration_status_registering));
-            }
-
-            @Override
-            public void onRegistrationFailed(String profileUri, int errorCode,
-                    String message) {
-                switch (errorCode) {
-                    case SipErrorCode.IN_PROGRESS:
-                        showRegistrationMessage(profileUri, getString(
-                                R.string.registration_status_still_trying));
-                        break;
-                    case SipErrorCode.INVALID_CREDENTIALS:
-                        showRegistrationMessage(profileUri, getString(
-                                R.string.registration_status_invalid_credentials));
-                        break;
-                    case SipErrorCode.SERVER_UNREACHABLE:
-                        showRegistrationMessage(profileUri, getString(
-                                R.string.registration_status_server_unreachable));
-                        break;
-                    case SipErrorCode.DATA_CONNECTION_LOST:
-                        if (SipManager.isSipWifiOnly(getApplicationContext())){
-                            showRegistrationMessage(profileUri, getString(
-                                    R.string.registration_status_no_wifi_data));
-                        } else {
-                            showRegistrationMessage(profileUri, getString(
-                                    R.string.registration_status_no_data));
-                        }
-                        break;
-                    case SipErrorCode.CLIENT_ERROR:
-                        showRegistrationMessage(profileUri, getString(
-                                R.string.registration_status_not_running));
-                        break;
-                    default:
-                        showRegistrationMessage(profileUri, getString(
-                                R.string.registration_status_failed_try_later,
-                                message));
-                }
-            }
-        };
-    }
-
-    @Override
-    public boolean onCreateOptionsMenu(Menu menu) {
-        super.onCreateOptionsMenu(menu);
-        MenuItem addAccountMenuItem = menu.add(0, MENU_ADD_ACCOUNT, 0, R.string.add_sip_account);
-        addAccountMenuItem.setIcon(R.drawable.ic_add_gnu_grey);
-        addAccountMenuItem.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM);
-        return true;
-    }
-
-    @Override
-    public boolean onPrepareOptionsMenu(Menu menu) {
-        menu.findItem(MENU_ADD_ACCOUNT).setEnabled(SipUtil.isPhoneIdle(this));
-        return super.onPrepareOptionsMenu(menu);
-    }
-
-    @Override
-    public boolean onOptionsItemSelected(MenuItem item) {
-        final int itemId = item.getItemId();
-        switch (itemId) {
-            case MENU_ADD_ACCOUNT: {
-                startSipEditor(null);
-                return true;
-            }
-            case android.R.id.home: {
-                onBackPressed();
-                return true;
-            }
-        }
-        return super.onOptionsItemSelected(item);
-    }
-
-    private static void log(String msg) {
-        Log.d(SipUtil.LOG_TAG, PREFIX + msg);
-    }
-}
diff --git a/sip/src/com/android/services/telephony/sip/SipUtil.java b/sip/src/com/android/services/telephony/sip/SipUtil.java
deleted file mode 100644
index a5793d0..0000000
--- a/sip/src/com/android/services/telephony/sip/SipUtil.java
+++ /dev/null
@@ -1,240 +0,0 @@
-/*
- * Copyright (C) 2010 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.services.telephony.sip;
-
-import android.app.PendingIntent;
-import android.content.ComponentName;
-import android.content.Context;
-import android.content.Intent;
-import android.graphics.drawable.Icon;
-import android.net.Uri;
-import android.net.sip.SipManager;
-import android.net.sip.SipProfile;
-import android.os.Bundle;
-import android.provider.Settings;
-import android.telecom.PhoneAccount;
-import android.telecom.PhoneAccountHandle;
-import android.telecom.TelecomManager;
-import android.telephony.TelephonyManager;
-import android.text.TextUtils;
-import android.util.Log;
-
-import com.android.phone.PhoneGlobals;
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
-
-public class SipUtil {
-    static final String LOG_TAG = "SIP";
-    static final String EXTRA_INCOMING_CALL_INTENT =
-            "com.android.services.telephony.sip.incoming_call_intent";
-    static final String EXTRA_PHONE_ACCOUNT =
-            "com.android.services.telephony.sip.phone_account";
-    static final String PHONE_PACKAGE = "com.android.phone";
-
-    private SipUtil() {
-    }
-
-    public static boolean isVoipSupported(Context context) {
-        return SipManager.isVoipSupported(context)
-                && context.getResources().getBoolean(
-                        com.android.internal.R.bool.config_built_in_sip_phone)
-                        && ((TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE))
-                        .isVoiceCapable();
-    }
-
-    static PendingIntent createIncomingCallPendingIntent(
-            Context context, String sipProfileName) {
-        Intent intent = new Intent(context, SipIncomingCallReceiver.class);
-        intent.setAction(SipManager.ACTION_SIP_INCOMING_CALL);
-        intent.putExtra(EXTRA_PHONE_ACCOUNT, SipUtil.createAccountHandle(context, sipProfileName));
-        return PendingIntent.getBroadcast(context, 0, intent,
-                // Mutable because information associated with the call is passed back here.
-                PendingIntent.FLAG_MUTABLE | PendingIntent.FLAG_UPDATE_CURRENT);
-    }
-
-    public static boolean isPhoneIdle(Context context) {
-        TelecomManager manager = (TelecomManager) context.getSystemService(
-                Context.TELECOM_SERVICE);
-        if (manager != null) {
-            return !manager.isInCall();
-        }
-        return true;
-    }
-
-    /**
-     * Creates a {@link PhoneAccountHandle} from the specified SIP profile name.
-     */
-    static PhoneAccountHandle createAccountHandle(Context context, String sipProfileName) {
-        return new PhoneAccountHandle(
-                new ComponentName(context, SipConnectionService.class), sipProfileName);
-    }
-
-    /**
-     * Determines the SIP profile name for a specified {@link PhoneAccountHandle}.
-     *
-     * @param phoneAccountHandle The {@link PhoneAccountHandle}.
-     * @return The SIP profile name.
-     */
-    static String getSipProfileNameFromPhoneAccount(PhoneAccountHandle phoneAccountHandle) {
-        if (phoneAccountHandle == null) {
-            return null;
-        }
-
-        String sipProfileName = phoneAccountHandle.getId();
-        if (TextUtils.isEmpty(sipProfileName)) {
-            return null;
-        }
-        return sipProfileName;
-    }
-
-    /**
-     * Creates a PhoneAccount for a SipProfile.
-     *
-     * @param context The context
-     * @param profile The SipProfile.
-     * @return The PhoneAccount.
-     */
-    static PhoneAccount createPhoneAccount(Context context, SipProfile profile) {
-        // Build a URI to represent the SIP account.  Does not use SipProfile#getUriString() since
-        // that prototype can include transport information which we do not want to see in the
-        // phone account.
-        String sipAddress = profile.getUserName() + "@" + profile.getSipDomain();
-        Uri sipUri = Uri.parse(profile.getUriString());
-
-        PhoneAccountHandle accountHandle =
-                SipUtil.createAccountHandle(context, profile.getProfileName());
-
-        final ArrayList<String> supportedUriSchemes = new ArrayList<String>();
-        supportedUriSchemes.add(PhoneAccount.SCHEME_SIP);
-        if (useSipForPstnCalls(context)) {
-            supportedUriSchemes.add(PhoneAccount.SCHEME_TEL);
-        }
-
-        Bundle phoneAccountExtras = new Bundle();
-        phoneAccountExtras.putBoolean(PhoneAccount.EXTRA_ALWAYS_USE_VOIP_AUDIO_MODE,
-                true);
-
-        PhoneAccount.Builder builder = PhoneAccount.builder(accountHandle, profile.getDisplayName())
-                .setCapabilities(PhoneAccount.CAPABILITY_CALL_PROVIDER
-                        | PhoneAccount.CAPABILITY_MULTI_USER)
-                .setAddress(sipUri)
-                .setShortDescription(sipAddress)
-                .setIcon(Icon.createWithResource(
-                        context, R.drawable.ic_dialer_sip_black_24dp))
-                .setExtras(phoneAccountExtras)
-                .setSupportedUriSchemes(supportedUriSchemes);
-
-        return builder.build();
-    }
-
-    /**
-     * Upon migration from M->N, the SIP Profile database will be moved into DE storage. This will
-     * not be a problem for non-FBE enabled devices, since DE and CE storage is available at the
-     * same time. This will be a problem for backup/restore, however if the SIP Profile DB is
-     * restored onto a new FBE enabled device.
-     *
-     * Checks if the Sip Db is in DE storage. If it is, the Db is moved to CE storage and
-     * deleted.
-     */
-    private static void possiblyMigrateSipDb(Context context) {
-        SipProfileDb dbDeStorage = new SipProfileDb(context);
-        dbDeStorage.accessDEStorageForMigration();
-        List<SipProfile> profilesDeStorage = dbDeStorage.retrieveSipProfileList();
-        if(profilesDeStorage.size() != 0) {
-            Log.i(LOG_TAG, "Migrating SIP Profiles over!");
-            SipProfileDb dbCeStorage = new SipProfileDb(context);
-            //Perform Profile Migration
-            for (SipProfile profileToMove : profilesDeStorage) {
-                if (dbCeStorage.retrieveSipProfileFromName(
-                        profileToMove.getProfileName()) == null) {
-                    try {
-                        dbCeStorage.saveProfile(profileToMove);
-                    } catch (IOException e) {
-                        Log.w(LOG_TAG, "Error Migrating file to CE: " +
-                                profileToMove.getProfileName(), e);
-                    }
-                }
-                Log.i(LOG_TAG, "(Migration) Deleting SIP profile: " +
-                        profileToMove.getProfileName());
-                try {
-                    dbDeStorage.deleteProfile(profileToMove);
-                } catch (IOException e) {
-                    Log.w(LOG_TAG, "Error Deleting file: " +
-                            profileToMove.getProfileName(), e);
-                }
-            }
-        }
-        // Delete supporting structures if they exist
-        dbDeStorage.cleanupUponMigration();
-    }
-
-    /**
-     * Migrates the DB files over from CE->DE storage and starts the SipService.
-     */
-    public static void startSipService() {
-        Context phoneGlobalsContext = PhoneGlobals.getInstance();
-        // Migrate SIP database from DE->CE storage if the device has just upgraded.
-        possiblyMigrateSipDb(phoneGlobalsContext);
-        // Wait until boot complete to start SIP so that it has access to CE storage.
-        Intent startSipIntent = new Intent();
-        startSipIntent.setAction(SipManager.ACTION_START_SIP);
-        startSipIntent.setPackage(PHONE_PACKAGE);
-        phoneGlobalsContext.startService(startSipIntent);
-    }
-
-    /**
-     * Determines if the user has chosen to use SIP for PSTN calls as well as SIP calls.
-     * @param context The context.
-     * @return {@code True} if SIP should be used for PSTN calls.
-     */
-    private static boolean useSipForPstnCalls(Context context) {
-        final SipPreferences sipPreferences = new SipPreferences(context);
-        return sipPreferences.getSipCallOption().equals(Settings.System.SIP_ALWAYS);
-    }
-
-    /**
-     * Updates SIP accounts to indicate whether they are enabled to receive incoming SIP calls.
-     *
-     * @param isEnabled {@code True} if receiving incoming SIP calls.
-     */
-    public static void useSipToReceiveIncomingCalls(Context context, boolean isEnabled) {
-        SipProfileDb profileDb = new SipProfileDb(context);
-
-        // Mark all profiles as auto-register if we are now receiving calls.
-        List<SipProfile> sipProfileList = profileDb.retrieveSipProfileList();
-        for (SipProfile p : sipProfileList) {
-            updateAutoRegistrationFlag(p, profileDb, isEnabled);
-        }
-    }
-
-    private static void updateAutoRegistrationFlag(
-            SipProfile p, SipProfileDb db, boolean isEnabled) {
-        SipProfile newProfile = new SipProfile.Builder(p).setAutoRegistration(isEnabled).build();
-
-        try {
-            // Note: The profile is updated, but the associated PhoneAccount is left alone since
-            // the only thing that changed is the auto-registration flag, which is not part of the
-            // PhoneAccount.
-            db.deleteProfile(p);
-            db.saveProfile(newProfile);
-        } catch (Exception e) {
-            Log.d(LOG_TAG, "updateAutoRegistrationFlag, exception: " + e);
-        }
-    }
-}
diff --git a/sip/src/com/android/services/telephony/sip/components/TelephonySipService.java b/sip/src/com/android/services/telephony/sip/components/TelephonySipService.java
deleted file mode 100644
index 5b863b1..0000000
--- a/sip/src/com/android/services/telephony/sip/components/TelephonySipService.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Copyright (C) 2020 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.services.telephony.sip.components;
-
-import android.app.Service;
-import android.content.Intent;
-import android.net.sip.SipManager;
-import android.os.IBinder;
-
-import com.android.server.sip.SipService;
-
-/**
- * This class represents telephony SIP service which handle start SIP service requests from
- * Telephony.
- */
-public class TelephonySipService extends Service {
-    @Override
-    public int onStartCommand(Intent intent, int flags, int startId) {
-        if ((intent != null)
-                && SipManager.ACTION_START_SIP.equals(intent.getAction())) {
-            SipService.start(this);
-        }
-        return START_STICKY;
-    }
-
-    @Override
-    public IBinder onBind(Intent intent) {
-        return null;
-    }
-}
diff --git a/src/com/android/phone/CallBarringEditPreference.java b/src/com/android/phone/CallBarringEditPreference.java
index 757600e..34c017c 100644
--- a/src/com/android/phone/CallBarringEditPreference.java
+++ b/src/com/android/phone/CallBarringEditPreference.java
@@ -101,9 +101,8 @@
     }
 
     void init(TimeConsumingPreferenceListener listener, boolean skipReading, Phone phone) {
-        if (DBG) {
-            Log.d(LOG_TAG, "init: phone id = " + phone.getPhoneId());
-        }
+        Log.d(LOG_TAG, "init: phone id = " + phone.getPhoneId());
+
         mPhone = phone;
 
         mTcpListener = listener;
@@ -184,10 +183,9 @@
     @Override
     protected void onDialogClosed(boolean positiveResult) {
         super.onDialogClosed(positiveResult);
-        if (DBG) {
-            Log.d(LOG_TAG, "onDialogClosed: mButtonClicked=" + mButtonClicked + ", positiveResult="
-                    + positiveResult);
-        }
+        Log.d(LOG_TAG, "onDialogClosed: mButtonClicked=" + mButtonClicked + ", positiveResult="
+                + positiveResult);
+
         if (mButtonClicked != DialogInterface.BUTTON_NEGATIVE) {
             String password = getEditText().getText().toString();
 
@@ -199,9 +197,8 @@
                 return;
             }
 
-            if (DBG) {
-                Log.d(LOG_TAG, "onDialogClosed: password=" + password);
-            }
+            Log.d(LOG_TAG, "onDialogClosed");
+
             // Send set call barring message to RIL layer.
             mPhone.setCallBarring(mFacility, !mIsActivated, password,
                     mHandler.obtainMessage(MyHandler.MESSAGE_SET_CALL_BARRING),
@@ -214,9 +211,7 @@
 
     void handleCallBarringResult(boolean status) {
         mIsActivated = status;
-        if (DBG) {
-            Log.d(LOG_TAG, "handleCallBarringResult: mIsActivated=" + mIsActivated);
-        }
+        Log.i(LOG_TAG, "handleCallBarringResult: mIsActivated=" + mIsActivated);
     }
 
     private static int getServiceClassForCallBarring(Phone phone) {
@@ -277,9 +272,7 @@
                 return;
             }
 
-            if (DBG) {
-                Log.d(LOG_TAG, "handleGetCallBarringResponse: done");
-            }
+            Log.i(LOG_TAG, "handleGetCallBarringResponse: done");
 
             AsyncResult ar = (AsyncResult) msg.obj;
 
@@ -291,9 +284,7 @@
 
             // Unsuccessful query for call barring.
             if (ar.exception != null) {
-                if (DBG) {
-                    Log.d(LOG_TAG, "handleGetCallBarringResponse: ar.exception=" + ar.exception);
-                }
+                Log.i(LOG_TAG, "handleGetCallBarringResponse: ar.exception=" + ar.exception);
                 pref.mTcpListener.onException(pref, (CommandException) ar.exception);
             } else {
                 if (ar.userObj instanceof Throwable) {
@@ -301,18 +292,14 @@
                 }
                 int[] ints = (int[]) ar.result;
                 if (ints.length == 0) {
-                    if (DBG) {
-                        Log.d(LOG_TAG, "handleGetCallBarringResponse: ar.result.length==0");
-                    }
+                    Log.i(LOG_TAG, "handleGetCallBarringResponse: ar.result.length==0");
                     pref.setEnabled(false);
                     pref.mTcpListener.onError(pref, RESPONSE_ERROR);
                 } else {
                     pref.handleCallBarringResult(ints[0] != 0);
-                    if (DBG) {
-                        Log.d(LOG_TAG,
-                                "handleGetCallBarringResponse: CB state successfully queried: "
-                                        + ints[0]);
-                    }
+                    Log.i(LOG_TAG,
+                            "handleGetCallBarringResponse: CB state successfully queried: "
+                                    + ints[0]);
                 }
             }
             // Update call barring status.
@@ -329,13 +316,9 @@
             AsyncResult ar = (AsyncResult) msg.obj;
 
             if (ar.exception != null || ar.userObj instanceof Throwable) {
-                if (DBG) {
-                    Log.d(LOG_TAG, "handleSetCallBarringResponse: ar.exception=" + ar.exception);
-                }
+                Log.i(LOG_TAG, "handleSetCallBarringResponse: ar.exception=" + ar.exception);
             }
-            if (DBG) {
-                Log.d(LOG_TAG, "handleSetCallBarringResponse: re-get call barring option");
-            }
+            Log.i(LOG_TAG, "handleSetCallBarringResponse: re-get call barring option");
             pref.mPhone.getCallBarring(
                     pref.mFacility,
                     "",
diff --git a/src/com/android/phone/CallFeaturesSetting.java b/src/com/android/phone/CallFeaturesSetting.java
index ec6ea2b..7bff98a 100644
--- a/src/com/android/phone/CallFeaturesSetting.java
+++ b/src/com/android/phone/CallFeaturesSetting.java
@@ -220,12 +220,12 @@
             if (mImsMgr.isEnhanced4gLteModeSettingEnabledByUser()) {
                 mImsMgr.setVtSetting((boolean) objValue);
             } else {
-                AlertDialog.Builder builder = new AlertDialog.Builder(this);
+                AlertDialog.Builder builder = FrameworksUtils.makeAlertDialogBuilder(this);
                 DialogInterface.OnClickListener networkSettingsClickListener =
                         new Dialog.OnClickListener() {
                             @Override
                             public void onClick(DialogInterface dialog, int which) {
-                                Intent intent = new Intent(Intent.ACTION_MAIN);
+                                Intent intent = new Intent();
                                 ComponentName mobileNetworkSettingsComponent = new ComponentName(
                                         getString(R.string.mobile_network_settings_package),
                                         getString(R.string.mobile_network_settings_class));
@@ -455,10 +455,16 @@
         boolean useWfcHomeModeForRoaming = carrierConfig.getBoolean(
                     CarrierConfigManager.KEY_USE_WFC_HOME_NETWORK_MODE_IN_ROAMING_NETWORK_BOOL,
                     false);
+        boolean isDataEnabled;
+        if (mPhone.isUsingNewDataStack()) {
+            isDataEnabled = mPhone.getDataSettingsManager().isDataEnabled();
+        } else {
+            isDataEnabled = mPhone.getDataEnabledSettings().isDataEnabled();
+        }
         if (mImsMgr.isVtEnabledByPlatform() && mImsMgr.isVtProvisionedOnDevice()
                 && (carrierConfig.getBoolean(
                         CarrierConfigManager.KEY_IGNORE_DATA_ENABLED_CHANGED_FOR_VIDEO_CALLS)
-                || mPhone.getDataEnabledSettings().isDataEnabled())) {
+                || isDataEnabled)) {
             boolean currentValue =
                     mImsMgr.isEnhanced4gLteModeSettingEnabledByUser()
                     ? mImsMgr.isVtEnabledByUser() : false;
diff --git a/src/com/android/phone/CallForwardEditPreference.java b/src/com/android/phone/CallForwardEditPreference.java
index 45121f7..2cbb7c5 100644
--- a/src/com/android/phone/CallForwardEditPreference.java
+++ b/src/com/android/phone/CallForwardEditPreference.java
@@ -428,7 +428,8 @@
                                     default: // not reachable
                                         s = getContext().getText(R.string.disable_cfnrc_forbidden);
                                 }
-                                AlertDialog.Builder builder = new AlertDialog.Builder(getContext());
+                                AlertDialog.Builder builder =
+                                        FrameworksUtils.makeAlertDialogBuilder(getContext());
                                 builder.setNeutralButton(R.string.close_dialog, null);
                                 builder.setTitle(getContext()
                                         .getText(R.string.error_updating_title));
@@ -441,7 +442,8 @@
                                 // Handle the fail-to-enable case.
                                 CharSequence s = getContext()
                                     .getText(R.string.registration_cf_forbidden);
-                                AlertDialog.Builder builder = new AlertDialog.Builder(getContext());
+                                AlertDialog.Builder builder =
+                                        FrameworksUtils.makeAlertDialogBuilder(getContext());
                                 builder.setNeutralButton(R.string.close_dialog, null);
                                 builder.setTitle(getContext()
                                         .getText(R.string.error_updating_title));
diff --git a/src/com/android/phone/CallNotifier.java b/src/com/android/phone/CallNotifier.java
index a8ef220..7f61f78 100644
--- a/src/com/android/phone/CallNotifier.java
+++ b/src/com/android/phone/CallNotifier.java
@@ -276,23 +276,10 @@
         private int mState;
         // The possible tones we can play.
         public static final int TONE_NONE = 0;
-        public static final int TONE_CALL_WAITING = 1;
-        public static final int TONE_BUSY = 2;
-        public static final int TONE_CONGESTION = 3;
-        public static final int TONE_CALL_ENDED = 4;
         public static final int TONE_VOICE_PRIVACY = 5;
-        public static final int TONE_REORDER = 6;
-        public static final int TONE_INTERCEPT = 7;
-        public static final int TONE_CDMA_DROP = 8;
-        public static final int TONE_OUT_OF_SERVICE = 9;
-        public static final int TONE_REDIAL = 10;
-        public static final int TONE_OTA_CALL_END = 11;
-        public static final int TONE_UNOBTAINABLE_NUMBER = 13;
 
         // The tone volume relative to other sounds in the stream
-        static final int TONE_RELATIVE_VOLUME_EMERGENCY = 100;
         static final int TONE_RELATIVE_VOLUME_HIPRI = 80;
-        static final int TONE_RELATIVE_VOLUME_LOPRI = 50;
 
         // Buffer time (in msec) to add on to tone timeout value.
         // Needed mainly when the timeout value for a tone is the
@@ -320,70 +307,11 @@
             int phoneType = mCM.getFgPhone().getPhoneType();
 
             switch (mToneId) {
-                case TONE_CALL_WAITING:
-                    toneType = ToneGenerator.TONE_SUP_CALL_WAITING;
-                    toneVolume = TONE_RELATIVE_VOLUME_HIPRI;
-                    // Call waiting tone is stopped by stopTone() method
-                    toneLengthMillis = Integer.MAX_VALUE - TONE_TIMEOUT_BUFFER;
-                    break;
-                case TONE_BUSY:
-                    if (phoneType == PhoneConstants.PHONE_TYPE_CDMA) {
-                        toneType = ToneGenerator.TONE_CDMA_NETWORK_BUSY_ONE_SHOT;
-                        toneVolume = TONE_RELATIVE_VOLUME_LOPRI;
-                        toneLengthMillis = 1000;
-                    } else if (phoneType == PhoneConstants.PHONE_TYPE_GSM
-                            || phoneType == PhoneConstants.PHONE_TYPE_SIP
-                            || phoneType == PhoneConstants.PHONE_TYPE_IMS
-                            || phoneType == PhoneConstants.PHONE_TYPE_THIRD_PARTY) {
-                        toneType = ToneGenerator.TONE_SUP_BUSY;
-                        toneVolume = TONE_RELATIVE_VOLUME_HIPRI;
-                        toneLengthMillis = 4000;
-                    } else {
-                        throw new IllegalStateException("Unexpected phone type: " + phoneType);
-                    }
-                    break;
-                case TONE_CONGESTION:
-                    toneType = ToneGenerator.TONE_SUP_CONGESTION;
-                    toneVolume = TONE_RELATIVE_VOLUME_HIPRI;
-                    toneLengthMillis = 4000;
-                    break;
-
-                case TONE_CALL_ENDED:
-                    toneType = ToneGenerator.TONE_PROP_PROMPT;
-                    toneVolume = TONE_RELATIVE_VOLUME_HIPRI;
-                    toneLengthMillis = 200;
-                    break;
                 case TONE_VOICE_PRIVACY:
                     toneType = ToneGenerator.TONE_CDMA_ALERT_NETWORK_LITE;
                     toneVolume = TONE_RELATIVE_VOLUME_HIPRI;
                     toneLengthMillis = 5000;
                     break;
-                case TONE_REORDER:
-                    toneType = ToneGenerator.TONE_CDMA_REORDER;
-                    toneVolume = TONE_RELATIVE_VOLUME_HIPRI;
-                    toneLengthMillis = 4000;
-                    break;
-                case TONE_INTERCEPT:
-                    toneType = ToneGenerator.TONE_CDMA_ABBR_INTERCEPT;
-                    toneVolume = TONE_RELATIVE_VOLUME_LOPRI;
-                    toneLengthMillis = 500;
-                    break;
-                case TONE_CDMA_DROP:
-                case TONE_OUT_OF_SERVICE:
-                    toneType = ToneGenerator.TONE_CDMA_CALLDROP_LITE;
-                    toneVolume = TONE_RELATIVE_VOLUME_LOPRI;
-                    toneLengthMillis = 375;
-                    break;
-                case TONE_REDIAL:
-                    toneType = ToneGenerator.TONE_CDMA_ALERT_AUTOREDIAL_LITE;
-                    toneVolume = TONE_RELATIVE_VOLUME_LOPRI;
-                    toneLengthMillis = 5000;
-                    break;
-                case TONE_UNOBTAINABLE_NUMBER:
-                    toneType = ToneGenerator.TONE_SUP_ERROR;
-                    toneVolume = TONE_RELATIVE_VOLUME_HIPRI;
-                    toneLengthMillis = 4000;
-                    break;
                 default:
                     throw new IllegalArgumentException("Bad toneId: " + mToneId);
             }
diff --git a/src/com/android/phone/CallWaitingSwitchPreference.java b/src/com/android/phone/CallWaitingSwitchPreference.java
index 609488c..00407f3 100644
--- a/src/com/android/phone/CallWaitingSwitchPreference.java
+++ b/src/com/android/phone/CallWaitingSwitchPreference.java
@@ -1,6 +1,7 @@
 package com.android.phone;
 
 import static com.android.phone.TimeConsumingPreferenceActivity.EXCEPTION_ERROR;
+import static com.android.phone.TimeConsumingPreferenceActivity.FDN_CHECK_FAILURE;
 import static com.android.phone.TimeConsumingPreferenceActivity.RESPONSE_ERROR;
 
 import android.content.Context;
@@ -128,17 +129,27 @@
                 }
             }
 
-            if (mIsDuringUpdateProcess && (
-                    mUpdateStatus == TelephonyManager.CALL_WAITING_STATUS_NOT_SUPPORTED
-                            || mUpdateStatus
-                            == TelephonyManager.CALL_WAITING_STATUS_UNKNOWN_ERROR)) {
-                Log.d(LOG_TAG, "handleSetCallWaitingResponse: Exception");
-                if (mTcpListener != null) {
-                    mTcpListener.onError(CallWaitingSwitchPreference.this, EXCEPTION_ERROR);
+            if (mQueryStatus != TelephonyManager.CALL_WAITING_STATUS_ENABLED
+                    && mQueryStatus != TelephonyManager.CALL_WAITING_STATUS_DISABLED
+                    && mQueryStatus != TelephonyManager.CALL_WAITING_STATUS_UNKNOWN_ERROR) {
+                Log.d(LOG_TAG, "handleGetCallWaitingResponse: Exception:" + mQueryStatus);
+                int error = EXCEPTION_ERROR;
+                switch (mQueryStatus) {
+                    case TelephonyManager.CALL_WAITING_STATUS_FDN_CHECK_FAILURE:
+                        error = FDN_CHECK_FAILURE;
+                        break;
+                    default:
+                        error = EXCEPTION_ERROR;
+                        break;
                 }
-            } else if (mQueryStatus == TelephonyManager.CALL_WAITING_STATUS_NOT_SUPPORTED
-                    || mQueryStatus == TelephonyManager.CALL_WAITING_STATUS_UNKNOWN_ERROR) {
-                Log.d(LOG_TAG, "handleGetCallWaitingResponse: Exception");
+                if (mTcpListener != null) {
+                    mTcpListener.onError(CallWaitingSwitchPreference.this, error);
+                }
+            } else if (mQueryStatus == TelephonyManager.CALL_WAITING_STATUS_UNKNOWN_ERROR
+                    || (mIsDuringUpdateProcess && (
+                    mUpdateStatus != TelephonyManager.CALL_WAITING_STATUS_ENABLED
+                            && mUpdateStatus != TelephonyManager.CALL_WAITING_STATUS_DISABLED))) {
+                Log.d(LOG_TAG, "handleSetCallWaitingResponse: Exception");
                 if (mTcpListener != null) {
                     mTcpListener.onError(CallWaitingSwitchPreference.this, RESPONSE_ERROR);
                 }
diff --git a/src/com/android/phone/CallerInfoCache.java b/src/com/android/phone/CallerInfoCache.java
deleted file mode 100644
index 2707c7c..0000000
--- a/src/com/android/phone/CallerInfoCache.java
+++ /dev/null
@@ -1,309 +0,0 @@
-/*
- * Copyright (C) 2012 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.phone;
-
-import android.content.Context;
-import android.database.Cursor;
-import android.os.AsyncTask;
-import android.os.PowerManager;
-import android.os.SystemProperties;
-import android.provider.ContactsContract.CommonDataKinds.Callable;
-import android.provider.ContactsContract.CommonDataKinds.Phone;
-import android.provider.ContactsContract.Data;
-import android.telephony.PhoneNumberUtils;
-import android.util.Log;
-
-import java.util.HashMap;
-import java.util.Map.Entry;
-
-/**
- * Holds "custom ringtone" and "send to voicemail" information for each contact as a fallback of
- * contacts database. The cached information is refreshed periodically and used when database
- * lookup (via ContentResolver) takes longer time than expected.
- *
- * The data inside this class shouldn't be treated as "primary"; they may not reflect the
- * latest information stored in the original database.
- */
-public class CallerInfoCache {
-    private static final String LOG_TAG = CallerInfoCache.class.getSimpleName();
-    private static final boolean DBG =
-            (PhoneGlobals.DBG_LEVEL >= 1) && (SystemProperties.getInt("ro.debuggable", 0) == 1);
-
-    /** This must not be set to true when submitting changes. */
-    private static final boolean VDBG = false;
-
-    public static final int MESSAGE_UPDATE_CACHE = 0;
-
-    // Assuming DATA.DATA1 corresponds to Phone.NUMBER and SipAddress.ADDRESS, we just use
-    // Data columns as much as we can. One exception: because normalized numbers won't be used in
-    // SIP cases, Phone.NORMALIZED_NUMBER is used as is instead of using Data.
-    private static final String[] PROJECTION = new String[] {
-        Data.DATA1,                  // 0
-        Phone.NORMALIZED_NUMBER,     // 1
-        Data.CUSTOM_RINGTONE,        // 2
-        Data.SEND_TO_VOICEMAIL       // 3
-    };
-
-    private static final int INDEX_NUMBER            = 0;
-    private static final int INDEX_NORMALIZED_NUMBER = 1;
-    private static final int INDEX_CUSTOM_RINGTONE   = 2;
-    private static final int INDEX_SEND_TO_VOICEMAIL = 3;
-
-    private static final String SELECTION = "("
-            + "(" + Data.CUSTOM_RINGTONE + " IS NOT NULL OR " + Data.SEND_TO_VOICEMAIL + "=1)"
-            + " AND " + Data.DATA1 + " IS NOT NULL)";
-
-    public static class CacheEntry {
-        public final String customRingtone;
-        public final boolean sendToVoicemail;
-        public CacheEntry(String customRingtone, boolean shouldSendToVoicemail) {
-            this.customRingtone = customRingtone;
-            this.sendToVoicemail = shouldSendToVoicemail;
-        }
-
-        @Override
-        public String toString() {
-            return "ringtone: " + customRingtone + ", " + sendToVoicemail;
-        }
-    }
-
-    private class CacheAsyncTask extends AsyncTask<Void, Void, Void> {
-
-        private PowerManager.WakeLock mWakeLock;
-
-        /**
-         * Call {@link PowerManager.WakeLock#acquire} and call {@link AsyncTask#execute(Object...)},
-         * guaranteeing the lock is held during the asynchronous task.
-         */
-        public void acquireWakeLockAndExecute() {
-            // Prepare a separate partial WakeLock than what PhoneApp has so to avoid
-            // unnecessary conflict.
-            PowerManager pm = (PowerManager) mContext.getSystemService(Context.POWER_SERVICE);
-            mWakeLock = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, LOG_TAG);
-            mWakeLock.acquire();
-            execute();
-        }
-
-        @Override
-        protected Void doInBackground(Void... params) {
-            if (DBG) log("Start refreshing cache.");
-            refreshCacheEntry();
-            return null;
-        }
-
-        @Override
-        protected void onPostExecute(Void result) {
-            if (VDBG) log("CacheAsyncTask#onPostExecute()");
-            super.onPostExecute(result);
-            releaseWakeLock();
-        }
-
-        @Override
-        protected void onCancelled(Void result) {
-            if (VDBG) log("CacheAsyncTask#onCanceled()");
-            super.onCancelled(result);
-            releaseWakeLock();
-        }
-
-        private void releaseWakeLock() {
-            if (mWakeLock != null && mWakeLock.isHeld()) {
-                mWakeLock.release();
-            }
-        }
-    }
-
-    private final Context mContext;
-
-    /**
-     * The mapping from number to CacheEntry.
-     *
-     * The number will be:
-     * - last 7 digits of each "normalized phone number when it is for PSTN phone call, or
-     * - a full SIP address for SIP call
-     *
-     * When cache is being refreshed, this whole object will be replaced with a newer object,
-     * instead of updating elements inside the object.  "volatile" is used to make
-     * {@link #getCacheEntry(String)} access to the newer one every time when the object is
-     * being replaced.
-     */
-    private volatile HashMap<String, CacheEntry> mNumberToEntry;
-
-    /**
-     * Used to remember if the previous task is finished or not. Should be set to null when done.
-     */
-    private CacheAsyncTask mCacheAsyncTask;
-
-    public static CallerInfoCache init(Context context) {
-        if (DBG) log("init()");
-        CallerInfoCache cache = new CallerInfoCache(context);
-        // The first cache should be available ASAP.
-        cache.startAsyncCache();
-        return cache;
-    }
-
-    private CallerInfoCache(Context context) {
-        mContext = context;
-        mNumberToEntry = new HashMap<String, CacheEntry>();
-    }
-
-    /* package */ void startAsyncCache() {
-        if (DBG) log("startAsyncCache");
-
-        if (mCacheAsyncTask != null) {
-            Log.w(LOG_TAG, "Previous cache task is remaining.");
-            mCacheAsyncTask.cancel(true);
-        }
-        mCacheAsyncTask = new CacheAsyncTask();
-        mCacheAsyncTask.acquireWakeLockAndExecute();
-    }
-
-    private void refreshCacheEntry() {
-        if (VDBG) log("refreshCacheEntry() started");
-
-        // There's no way to know which part of the database was updated. Also we don't want
-        // to block incoming calls asking for the cache. So this method just does full query
-        // and replaces the older cache with newer one. To refrain from blocking incoming calls,
-        // it keeps older one as much as it can, and replaces it with newer one inside a very small
-        // synchronized block.
-
-        Cursor cursor = null;
-        try {
-            cursor = mContext.getContentResolver().query(Callable.CONTENT_URI,
-                    PROJECTION, SELECTION, null, null);
-            if (cursor != null) {
-                // We don't want to block real in-coming call, so prepare a completely fresh
-                // cache here again, and replace it with older one.
-                final HashMap<String, CacheEntry> newNumberToEntry =
-                        new HashMap<String, CacheEntry>(cursor.getCount());
-
-                while (cursor.moveToNext()) {
-                    final String number = cursor.getString(INDEX_NUMBER);
-                    String normalizedNumber = cursor.getString(INDEX_NORMALIZED_NUMBER);
-                    if (normalizedNumber == null) {
-                        // There's no guarantee normalized numbers are available every time and
-                        // it may become null sometimes. Try formatting the original number.
-                        normalizedNumber = PhoneNumberUtils.normalizeNumber(number);
-                    }
-                    final String customRingtone = cursor.getString(INDEX_CUSTOM_RINGTONE);
-                    final boolean sendToVoicemail = cursor.getInt(INDEX_SEND_TO_VOICEMAIL) == 1;
-
-                    if (PhoneNumberUtils.isUriNumber(number)) {
-                        // SIP address case
-                        putNewEntryWhenAppropriate(
-                                newNumberToEntry, number, customRingtone, sendToVoicemail);
-                    } else {
-                        // PSTN number case
-                        // Each normalized number may or may not have full content of the number.
-                        // Contacts database may contain +15001234567 while a dialed number may be
-                        // just 5001234567. Also we may have inappropriate country
-                        // code in some cases (e.g. when the location of the device is inconsistent
-                        // with the device's place). So to avoid confusion we just rely on the last
-                        // 7 digits here. It may cause some kind of wrong behavior, which is
-                        // unavoidable anyway in very rare cases..
-                        final int length = normalizedNumber.length();
-                        final String key = length > 7
-                                ? normalizedNumber.substring(length - 7, length)
-                                        : normalizedNumber;
-                        putNewEntryWhenAppropriate(
-                                newNumberToEntry, key, customRingtone, sendToVoicemail);
-                    }
-                }
-
-                if (VDBG) {
-                    Log.d(LOG_TAG, "New cache size: " + newNumberToEntry.size());
-                    for (Entry<String, CacheEntry> entry : newNumberToEntry.entrySet()) {
-                        Log.d(LOG_TAG, "Number: " + entry.getKey() + " -> " + entry.getValue());
-                    }
-                }
-
-                mNumberToEntry = newNumberToEntry;
-
-                if (DBG) {
-                    log("Caching entries are done. Total: " + newNumberToEntry.size());
-                }
-            } else {
-                // Let's just wait for the next refresh..
-                //
-                // If the cursor became null at that exact moment, probably we don't want to
-                // drop old cache. Also the case is fairly rare in usual cases unless acore being
-                // killed, so we don't take care much of this case.
-                Log.w(LOG_TAG, "cursor is null");
-            }
-        } finally {
-            if (cursor != null) {
-                cursor.close();
-            }
-        }
-
-        if (VDBG) log("refreshCacheEntry() ended");
-    }
-
-    private void putNewEntryWhenAppropriate(HashMap<String, CacheEntry> newNumberToEntry,
-            String numberOrSipAddress, String customRingtone, boolean sendToVoicemail) {
-        if (newNumberToEntry.containsKey(numberOrSipAddress)) {
-            // There may be duplicate entries here and we should prioritize
-            // "send-to-voicemail" flag in any case.
-            final CacheEntry entry = newNumberToEntry.get(numberOrSipAddress);
-            if (!entry.sendToVoicemail && sendToVoicemail) {
-                newNumberToEntry.put(numberOrSipAddress,
-                        new CacheEntry(customRingtone, sendToVoicemail));
-            }
-        } else {
-            newNumberToEntry.put(numberOrSipAddress,
-                    new CacheEntry(customRingtone, sendToVoicemail));
-        }
-    }
-
-    /**
-     * Returns CacheEntry for the given number (PSTN number or SIP address).
-     *
-     * @param number OK to be unformatted.
-     * @return CacheEntry to be used. Maybe null if there's no cache here. Note that this may
-     * return null when the cache itself is not ready. BE CAREFUL. (or might be better to throw
-     * an exception)
-     */
-    public CacheEntry getCacheEntry(String number) {
-        if (mNumberToEntry == null) {
-            // Very unusual state. This implies the cache isn't ready during the request, while
-            // it should be prepared on the boot time (i.e. a way before even the first request).
-            Log.w(LOG_TAG, "Fallback cache isn't ready.");
-            return null;
-        }
-
-        CacheEntry entry;
-        if (PhoneNumberUtils.isUriNumber(number)) {
-            if (VDBG) log("Trying to lookup " + number);
-
-            entry = mNumberToEntry.get(number);
-        } else {
-            final String normalizedNumber = PhoneNumberUtils.normalizeNumber(number);
-            final int length = normalizedNumber.length();
-            final String key =
-                    (length > 7 ? normalizedNumber.substring(length - 7, length)
-                            : normalizedNumber);
-            if (VDBG) log("Trying to lookup " + key);
-
-            entry = mNumberToEntry.get(key);
-        }
-        if (VDBG) log("Obtained " + entry);
-        return entry;
-    }
-
-    private static void log(String msg) {
-        Log.d(LOG_TAG, msg);
-    }
-}
diff --git a/src/com/android/phone/CarrierConfigLoader.java b/src/com/android/phone/CarrierConfigLoader.java
index 45ca974..307170a 100644
--- a/src/com/android/phone/CarrierConfigLoader.java
+++ b/src/com/android/phone/CarrierConfigLoader.java
@@ -35,6 +35,7 @@
 import android.os.Build;
 import android.os.Bundle;
 import android.os.Handler;
+import android.os.HandlerExecutor;
 import android.os.IBinder;
 import android.os.Looper;
 import android.os.Message;
@@ -88,42 +89,48 @@
     private static final String LOG_TAG = "CarrierConfigLoader";
 
     // Package name for platform carrier config app, bundled with system image.
-    private final String mPlatformCarrierConfigPackage;
+    @NonNull private final String mPlatformCarrierConfigPackage;
 
     /** The singleton instance. */
-    private static CarrierConfigLoader sInstance;
+    @Nullable private static CarrierConfigLoader sInstance;
     // The context for phone app, passed from PhoneGlobals.
-    private Context mContext;
-    // Carrier configs from default app, indexed by phoneID.
-    private PersistableBundle[] mConfigFromDefaultApp;
-    // Carrier configs from privileged carrier config app, indexed by phoneID.
-    private PersistableBundle[] mConfigFromCarrierApp;
-    // Persistent Carrier configs that are provided via the override test API, indexed by phone ID.
-    private PersistableBundle[] mPersistentOverrideConfigs;
-    // Carrier configs that are provided via the override test API, indexed by phone ID.
-    private PersistableBundle[] mOverrideConfigs;
-    // Carrier configs to override code default when there is no SIM inserted
-    private PersistableBundle mNoSimConfig;
-    // Service connection for binding to config app.
-    private CarrierServiceConnection[] mServiceConnection;
-    // Service connection for binding to carrier config app for no SIM config.
-    private CarrierServiceConnection[] mServiceConnectionForNoSimConfig;
-    // Whether we are bound to a service for each phone
-    private boolean[] mServiceBound;
-    // Whether we are bound to a service for no SIM config
-    private boolean[] mServiceBoundForNoSimConfig;
-    // Whether we have sent config change broadcast for each phone id.
-    private boolean[] mHasSentConfigChange;
-    // Whether the broadcast was sent from EVENT_SYSTEM_UNLOCKED, to track rebroadcasts
-    private boolean[] mFromSystemUnlocked;
-    // SubscriptionInfoUpdater
-    private final SubscriptionInfoUpdater mSubscriptionInfoUpdater;
+    @NonNull private Context mContext;
 
-    // Broadcast receiver for Boot intents, register intent filter in construtor.
-    private final BroadcastReceiver mBootReceiver = new ConfigLoaderBroadcastReceiver();
-    // Broadcast receiver for SIM and pkg intents, register intent filter in constructor.
-    private final BroadcastReceiver mPackageReceiver = new ConfigLoaderBroadcastReceiver();
-    private final LocalLog mCarrierConfigLoadingLog = new LocalLog(100);
+    // All the states below (array indexed by phoneId) are non-null. But the member of the array
+    // is nullable, when e.g. the config for the phone is not loaded yet
+    // Carrier configs from default app, indexed by phoneID.
+    @NonNull private PersistableBundle[] mConfigFromDefaultApp;
+    // Carrier configs from privileged carrier config app, indexed by phoneID.
+    @NonNull private PersistableBundle[] mConfigFromCarrierApp;
+    // Persistent Carrier configs that are provided via the override test API, indexed by phone ID.
+    @NonNull private PersistableBundle[] mPersistentOverrideConfigs;
+    // Carrier configs that are provided via the override test API, indexed by phone ID.
+    @NonNull private PersistableBundle[] mOverrideConfigs;
+    // Carrier configs to override code default when there is no SIM inserted
+    @NonNull private PersistableBundle mNoSimConfig;
+    // Service connection for binding to config app.
+    @NonNull private CarrierServiceConnection[] mServiceConnection;
+    // Service connection for binding to carrier config app for no SIM config.
+    @NonNull private CarrierServiceConnection[] mServiceConnectionForNoSimConfig;
+    // Whether we are bound to a service for each phone
+    @NonNull private boolean[] mServiceBound;
+    // Whether we are bound to a service for no SIM config
+    @NonNull private boolean[] mServiceBoundForNoSimConfig;
+    // Whether we have sent config change broadcast for each phone id.
+    @NonNull private boolean[] mHasSentConfigChange;
+    // Whether the broadcast was sent from EVENT_SYSTEM_UNLOCKED, to track rebroadcasts
+    @NonNull private boolean[] mFromSystemUnlocked;
+    // CarrierService change monitoring
+    @NonNull private CarrierServiceChangeCallback[] mCarrierServiceChangeCallbacks;
+
+    // SubscriptionInfoUpdater
+    @NonNull private final SubscriptionInfoUpdater mSubscriptionInfoUpdater;
+    // Broadcast receiver for system events (BootCompleted, MultiSimConfigChanged etc.)
+    @NonNull
+    private final BroadcastReceiver mSystemBroadcastReceiver = new ConfigLoaderBroadcastReceiver();
+    @NonNull private final LocalLog mCarrierConfigLoadingLog = new LocalLog(100);
+    // Number of phone instances (active modem count)
+    private int mNumPhones;
 
 
     // Message codes; see mHandler below.
@@ -210,7 +217,7 @@
         }
 
         @Override
-        public void handleMessage(Message msg) {
+        public void handleMessage(@NonNull Message msg) {
             final int phoneId = msg.arg1;
             logdWithLocalLog("mHandler: " + eventToString(msg.what) + " phoneId: " + phoneId);
             if (!SubscriptionManager.isValidPhoneId(phoneId)
@@ -224,8 +231,7 @@
                 }
 
                 case EVENT_SYSTEM_UNLOCKED: {
-                    for (int i = 0; i < TelephonyManager.from(mContext).getActiveModemCount();
-                            ++i) {
+                    for (int i = 0; i < mNumPhones; ++i) {
                         // When the user unlocks the device, send the broadcast again (with a
                         // rebroadcast extra) if we have sent it before unlock. This will avoid
                         // trying to load the carrier config when the SIM is still loading when the
@@ -241,16 +247,12 @@
 
                 case EVENT_PACKAGE_CHANGED: {
                     final String carrierPackageName = (String) msg.obj;
-                    // Only update if there are cached config removed to avoid updating config for
-                    // unrelated packages.
-                    if (clearCachedConfigForPackage(carrierPackageName)) {
-                        int numPhones = TelephonyManager.from(mContext).getActiveModemCount();
-                        for (int i = 0; i < numPhones; ++i) {
-                            logdWithLocalLog("Package changed: " + carrierPackageName
-                                    + ", phone=" + i);
-                            updateConfigForPhoneId(i);
-                        }
-                    }
+                    // Always clear up the cache and re-load config from scratch since the carrier
+                    // service change is reliable and specific to the phoneId now.
+                    clearCachedConfigForPackage(carrierPackageName);
+                    logdWithLocalLog("Package changed: " + carrierPackageName
+                            + ", phone=" + phoneId);
+                    updateConfigForPhoneId(phoneId);
                     break;
                 }
 
@@ -349,7 +351,7 @@
                     try {
                         ICarrierService carrierService =
                                 ICarrierService.Stub.asInterface(conn.service);
-                        carrierService.getCarrierConfig(carrierId, resultReceiver);
+                        carrierService.getCarrierConfig(phoneId, carrierId, resultReceiver);
                         logdWithLocalLog("Fetch config for default app: "
                                 + mPlatformCarrierConfigPackage
                                 + " carrierid: " + carrierId.toString());
@@ -489,7 +491,7 @@
                     try {
                         ICarrierService carrierService =
                                 ICarrierService.Stub.asInterface(conn.service);
-                        carrierService.getCarrierConfig(carrierId, resultReceiver);
+                        carrierService.getCarrierConfig(phoneId, carrierId, resultReceiver);
                         logdWithLocalLog("Fetch config for carrier app: "
                                 + getCarrierPackageForPhoneId(phoneId)
                                 + " carrierid: " + carrierId.toString());
@@ -657,7 +659,7 @@
                     try {
                         ICarrierService carrierService =
                                 ICarrierService.Stub.asInterface(conn.service);
-                        carrierService.getCarrierConfig(null, resultReceiver);
+                        carrierService.getCarrierConfig(phoneId, null, resultReceiver);
                         logdWithLocalLog("Fetch no sim config from default app: "
                                 + mPlatformCarrierConfigPackage);
                     } catch (RemoteException e) {
@@ -676,45 +678,43 @@
         }
     }
 
-    private final Handler mHandler;
+    @NonNull private final Handler mHandler;
 
     /**
      * Constructs a CarrierConfigLoader, registers it as a service, and registers a broadcast
      * receiver for relevant events.
      */
     @VisibleForTesting
-    /* package */ CarrierConfigLoader(Context context,
-            SubscriptionInfoUpdater subscriptionInfoUpdater, @NonNull Looper looper) {
+    /* package */ CarrierConfigLoader(@NonNull Context context,
+            @NonNull SubscriptionInfoUpdater subscriptionInfoUpdater, @NonNull Looper looper) {
         mContext = context;
         mPlatformCarrierConfigPackage =
                 mContext.getString(R.string.platform_carrier_config_package);
         mHandler = new ConfigHandler(looper);
 
-        IntentFilter bootFilter = new IntentFilter();
-        bootFilter.addAction(Intent.ACTION_BOOT_COMPLETED);
-        context.registerReceiver(mBootReceiver, bootFilter);
+        IntentFilter systemEventsFilter = new IntentFilter();
+        systemEventsFilter.addAction(Intent.ACTION_BOOT_COMPLETED);
+        systemEventsFilter.addAction(TelephonyManager.ACTION_MULTI_SIM_CONFIG_CHANGED);
+        context.registerReceiver(mSystemBroadcastReceiver, systemEventsFilter);
 
-        // Register for package updates. Update app or uninstall app update will have all 3 intents,
-        // in the order or removed, added, replaced, all with extra_replace set to true.
-        IntentFilter pkgFilter = new IntentFilter();
-        pkgFilter.addAction(Intent.ACTION_PACKAGE_ADDED);
-        pkgFilter.addAction(Intent.ACTION_PACKAGE_REMOVED);
-        pkgFilter.addAction(Intent.ACTION_PACKAGE_REPLACED);
-        pkgFilter.addDataScheme("package");
-        context.registerReceiver(mPackageReceiver, pkgFilter);
-
-        int numPhones = TelephonyManager.from(context).getSupportedModemCount();
-        mConfigFromDefaultApp = new PersistableBundle[numPhones];
-        mConfigFromCarrierApp = new PersistableBundle[numPhones];
-        mPersistentOverrideConfigs = new PersistableBundle[numPhones];
-        mOverrideConfigs = new PersistableBundle[numPhones];
+        mNumPhones = TelephonyManager.from(context).getActiveModemCount();
+        mConfigFromDefaultApp = new PersistableBundle[mNumPhones];
+        mConfigFromCarrierApp = new PersistableBundle[mNumPhones];
+        mPersistentOverrideConfigs = new PersistableBundle[mNumPhones];
+        mOverrideConfigs = new PersistableBundle[mNumPhones];
         mNoSimConfig = new PersistableBundle();
-        mServiceConnection = new CarrierServiceConnection[numPhones];
-        mServiceBound = new boolean[numPhones];
-        mHasSentConfigChange = new boolean[numPhones];
-        mFromSystemUnlocked = new boolean[numPhones];
-        mServiceConnectionForNoSimConfig = new CarrierServiceConnection[numPhones];
-        mServiceBoundForNoSimConfig = new boolean[numPhones];
+        mServiceConnection = new CarrierServiceConnection[mNumPhones];
+        mServiceBound = new boolean[mNumPhones];
+        mHasSentConfigChange = new boolean[mNumPhones];
+        mFromSystemUnlocked = new boolean[mNumPhones];
+        mServiceConnectionForNoSimConfig = new CarrierServiceConnection[mNumPhones];
+        mServiceBoundForNoSimConfig = new boolean[mNumPhones];
+        mCarrierServiceChangeCallbacks = new CarrierServiceChangeCallback[mNumPhones];
+        for (int phoneId = 0; phoneId < mNumPhones; phoneId++) {
+            mCarrierServiceChangeCallbacks[phoneId] = new CarrierServiceChangeCallback(phoneId);
+            TelephonyManager.from(context).registerCarrierPrivilegesCallback(phoneId,
+                    new HandlerExecutor(mHandler), mCarrierServiceChangeCallbacks[phoneId]);
+        }
         logd("CarrierConfigLoader has started");
         mSubscriptionInfoUpdater = subscriptionInfoUpdater;
         mHandler.sendEmptyMessage(EVENT_CHECK_SYSTEM_UPDATE);
@@ -725,7 +725,8 @@
      *
      * This is only done once, at startup, from {@link com.android.phone.PhoneApp#onCreate}.
      */
-    /* package */ static CarrierConfigLoader init(Context context) {
+    @NonNull
+    /* package */ static CarrierConfigLoader init(@NonNull Context context) {
         synchronized (CarrierConfigLoader.class) {
             if (sInstance == null) {
                 sInstance = new CarrierConfigLoader(context,
@@ -835,7 +836,7 @@
     }
 
     /** Binds to the default or carrier config app. */
-    private boolean bindToConfigPackage(String pkgName, int phoneId, int eventId) {
+    private boolean bindToConfigPackage(@NonNull String pkgName, int phoneId, int eventId) {
         logdWithLocalLog("Binding to " + pkgName + " for phone " + phoneId);
         Intent carrierService = new Intent(CarrierService.CARRIER_SERVICE_INTERFACE);
         carrierService.setPackage(pkgName);
@@ -864,6 +865,7 @@
     }
 
     @VisibleForTesting
+    @NonNull
     /* package */ CarrierIdentifier getCarrierIdentifierForPhoneId(int phoneId) {
         String mcc = "";
         String mnc = "";
@@ -890,25 +892,19 @@
         return new CarrierIdentifier(mcc, mnc, spn, imsi, gid1, gid2, carrierId, specificCarrierId);
     }
 
-    /** Returns the package name of a priveleged carrier app, or null if there is none. */
+    /** Returns the package name of a privileged carrier app, or null if there is none. */
     @Nullable
     private String getCarrierPackageForPhoneId(int phoneId) {
-        List<String> carrierPackageNames;
         final long token = Binder.clearCallingIdentity();
         try {
-            carrierPackageNames = TelephonyManager.from(mContext)
-                .getCarrierPackageNamesForIntentAndPhone(
-                    new Intent(CarrierService.CARRIER_SERVICE_INTERFACE), phoneId);
+            return TelephonyManager.from(mContext)
+                    .getCarrierServicePackageNameForLogicalSlot(phoneId);
         } finally {
             Binder.restoreCallingIdentity(token);
         }
-        if (carrierPackageNames != null && carrierPackageNames.size() > 0) {
-            return carrierPackageNames.get(0);
-        } else {
-            return null;
-        }
     }
 
+    @Nullable
     private String getIccIdForPhoneId(int phoneId) {
         if (!SubscriptionManager.isValidPhoneId(phoneId)) {
             return null;
@@ -970,8 +966,9 @@
      * @param config        the bundle to be written. Null will be treated as an empty bundle.
      * @param isNoSimConfig whether this is invoked for noSimConfig or not.
      */
-    private void saveConfigToXml(String packageName, @NonNull String extraString, int phoneId,
-            CarrierIdentifier carrierId, PersistableBundle config, boolean isNoSimConfig) {
+    private void saveConfigToXml(@Nullable String packageName, @NonNull String extraString,
+            int phoneId, @Nullable CarrierIdentifier carrierId, @NonNull PersistableBundle config,
+            boolean isNoSimConfig) {
         if (packageName == null) {
             loge("Cannot save config with null packageName");
             return;
@@ -988,7 +985,8 @@
             }
 
             final String iccid = getIccIdForPhoneId(phoneId);
-            final int cid = carrierId.getSpecificCarrierId();
+            final int cid = carrierId != null ? carrierId.getSpecificCarrierId()
+                    : TelephonyManager.UNKNOWN_CARRIER_ID;
             if (iccid == null) {
                 loge("Cannot save config with null iccid.");
                 return;
@@ -1027,13 +1025,14 @@
     }
 
     @VisibleForTesting
-    /* package */ void saveConfigToXml(String packageName, @NonNull String extraString, int phoneId,
-            CarrierIdentifier carrierId, PersistableBundle config) {
+    /* package */ void saveConfigToXml(@Nullable String packageName, @NonNull String extraString,
+            int phoneId, @NonNull CarrierIdentifier carrierId, @NonNull PersistableBundle config) {
         saveConfigToXml(packageName, extraString, phoneId, carrierId, config, false);
     }
 
     @VisibleForTesting
-    /* package */ void saveNoSimConfigToXml(String packageName, PersistableBundle config) {
+    /* package */ void saveNoSimConfigToXml(@Nullable String packageName,
+            @NonNull PersistableBundle config) {
         saveConfigToXml(packageName, "", -1, null, config, true);
     }
 
@@ -1053,8 +1052,9 @@
      * @return the bundle from the XML file. Returns null if there is no saved config, the saved
      * version does not match, or reading config fails.
      */
-    private PersistableBundle restoreConfigFromXml(String packageName, @NonNull String extraString,
-            int phoneId, boolean isNoSimConfig) {
+    @Nullable
+    private PersistableBundle restoreConfigFromXml(@Nullable String packageName,
+            @NonNull String extraString, int phoneId, boolean isNoSimConfig) {
         if (packageName == null) {
             loge("Cannot restore config with null packageName");
         }
@@ -1123,7 +1123,8 @@
     /**
      * This method will mask most part of iccid in the filepath for logging on userbuild
      */
-    private String getFilePathForLogging(String filePath, String iccid) {
+    @NonNull
+    private String getFilePathForLogging(@Nullable String filePath, @Nullable String iccid) {
         // If loggable then return with actual file path
         if (Rlog.isLoggable(LOG_TAG, Log.VERBOSE)) {
             return filePath;
@@ -1136,12 +1137,14 @@
         return path;
     }
 
-    private PersistableBundle restoreConfigFromXml(String packageName, @NonNull String extraString,
-            int phoneId) {
+    @Nullable
+    private PersistableBundle restoreConfigFromXml(@Nullable String packageName,
+            @NonNull String extraString, int phoneId) {
         return restoreConfigFromXml(packageName, extraString, phoneId, false);
     }
 
-    private PersistableBundle restoreNoSimConfigFromXml(String packageName) {
+    @Nullable
+    private PersistableBundle restoreNoSimConfigFromXml(@Nullable String packageName) {
         return restoreConfigFromXml(packageName, "", -1, true);
     }
 
@@ -1154,7 +1157,7 @@
      *                    cleared.
      * @return true iff one or more files were deleted.
      */
-    private boolean clearCachedConfigForPackage(final String packageName) {
+    private boolean clearCachedConfigForPackage(@Nullable final String packageName) {
         File dir = mContext.getFilesDir();
         File[] packageFiles = dir.listFiles(new FilenameFilter() {
             public boolean accept(File dir, String filename) {
@@ -1174,6 +1177,7 @@
     }
 
     /** Builds a canonical file name for a config file. */
+    @NonNull
     private static String getFilenameForConfig(
             @NonNull String packageName, @NonNull String extraString,
             @NonNull String iccid, int cid) {
@@ -1185,12 +1189,14 @@
     }
 
     /** Builds a canonical file name for no SIM config file. */
+    @NonNull
     private String getFilenameForNoSimConfig(@NonNull String packageName) {
         return "carrierconfig-" + packageName + "-" + "nosim" + ".xml";
     }
 
     /** Return the current version code of a package, or null if the name is not found. */
-    private String getPackageVersion(String packageName) {
+    @Nullable
+    private String getPackageVersion(@NonNull String packageName) {
         try {
             PackageInfo info = mContext.getPackageManager().getPackageInfo(packageName, 0);
             return Long.toString(info.getLongVersionCode());
@@ -1211,22 +1217,65 @@
     }
 
     private void onMultiSimConfigChanged() {
-        for (int i = TelephonyManager.from(mContext).getActiveModemCount();
-                i < mConfigFromDefaultApp.length; i++) {
-            clearConfigForPhone(i, false);
+        int oldNumPhones = mNumPhones;
+        mNumPhones = TelephonyManager.from(mContext).getActiveModemCount();
+        if (mNumPhones == oldNumPhones) {
+            return;
+        }
+        logdWithLocalLog("mNumPhones change from " + oldNumPhones + " to " + mNumPhones);
+
+        // If DS -> SS switch, release the resources BEFORE truncating the arrays to avoid leaking
+        for (int phoneId = mNumPhones; phoneId < oldNumPhones; phoneId++) {
+            if (mServiceConnection[phoneId] != null) {
+                unbindIfBound(mContext, mServiceConnection[phoneId], phoneId);
+            }
+            if (mServiceConnectionForNoSimConfig[phoneId] != null) {
+                unbindIfBoundForNoSimConfig(mContext, mServiceConnectionForNoSimConfig[phoneId],
+                        phoneId);
+            }
+        }
+
+        // The phone to slot mapping may change, unregister here and re-register callbacks later
+        for (int phoneId = 0; phoneId < oldNumPhones; phoneId++) {
+            if (mCarrierServiceChangeCallbacks[phoneId] != null) {
+                TelephonyManager.from(mContext).unregisterCarrierPrivilegesCallback(
+                        mCarrierServiceChangeCallbacks[phoneId]);
+            }
+        }
+
+        // Copy the original arrays, truncate or padding with zeros (if necessary) to new length
+        mConfigFromDefaultApp = Arrays.copyOf(mConfigFromDefaultApp, mNumPhones);
+        mConfigFromCarrierApp = Arrays.copyOf(mConfigFromCarrierApp, mNumPhones);
+        mPersistentOverrideConfigs = Arrays.copyOf(mPersistentOverrideConfigs, mNumPhones);
+        mOverrideConfigs = Arrays.copyOf(mOverrideConfigs, mNumPhones);
+        mServiceConnection = Arrays.copyOf(mServiceConnection, mNumPhones);
+        mServiceConnectionForNoSimConfig =
+                Arrays.copyOf(mServiceConnectionForNoSimConfig, mNumPhones);
+        mServiceBound = Arrays.copyOf(mServiceBound, mNumPhones);
+        mServiceBoundForNoSimConfig = Arrays.copyOf(mServiceBoundForNoSimConfig, mNumPhones);
+        mHasSentConfigChange = Arrays.copyOf(mHasSentConfigChange, mNumPhones);
+        mFromSystemUnlocked = Arrays.copyOf(mFromSystemUnlocked, mNumPhones);
+        mCarrierServiceChangeCallbacks = Arrays.copyOf(mCarrierServiceChangeCallbacks, mNumPhones);
+
+        // Load the config for all the phones and re-register callback AFTER padding the arrays.
+        for (int phoneId = 0; phoneId < mNumPhones; phoneId++) {
+            updateConfigForPhoneId(phoneId);
+            mCarrierServiceChangeCallbacks[phoneId] = new CarrierServiceChangeCallback(phoneId);
+            TelephonyManager.from(mContext).registerCarrierPrivilegesCallback(phoneId,
+                    new HandlerExecutor(mHandler), mCarrierServiceChangeCallbacks[phoneId]);
         }
     }
 
     @Override
     @NonNull
-    public PersistableBundle getConfigForSubId(int subscriptionId, String callingPackage) {
+    public PersistableBundle getConfigForSubId(int subscriptionId, @NonNull String callingPackage) {
         return getConfigForSubIdWithFeature(subscriptionId, callingPackage, null);
     }
 
     @Override
     @NonNull
-    public PersistableBundle getConfigForSubIdWithFeature(int subscriptionId, String callingPackage,
-            String callingFeatureId) {
+    public PersistableBundle getConfigForSubIdWithFeature(int subscriptionId,
+            @NonNull String callingPackage, @Nullable String callingFeatureId) {
         if (!TelephonyPermissions.checkCallingOrSelfReadPhoneState(mContext, subscriptionId,
                 callingPackage, callingFeatureId, "getCarrierConfig")) {
             return new PersistableBundle();
@@ -1339,7 +1388,7 @@
     }
 
     @Override
-    public void updateConfigForPhoneId(int phoneId, String simState) {
+    public void updateConfigForPhoneId(int phoneId, @NonNull String simState) {
         mContext.enforceCallingOrSelfPermission(
                 android.Manifest.permission.MODIFY_PHONE_STATE, null);
         logdWithLocalLog("Update config for phoneId: " + phoneId + " simState: " + simState);
@@ -1363,6 +1412,7 @@
     }
 
     @Override
+    @NonNull
     public String getDefaultCarrierServicePackageName() {
         mContext.enforceCallingOrSelfPermission(
                 android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE,
@@ -1371,31 +1421,37 @@
     }
 
     @VisibleForTesting
+    @NonNull
     /* package */ Handler getHandler() {
         return mHandler;
     }
 
     @VisibleForTesting
+    @Nullable
     /* package */ PersistableBundle getConfigFromDefaultApp(int phoneId) {
         return mConfigFromDefaultApp[phoneId];
     }
 
     @VisibleForTesting
+    @Nullable
     /* package */ PersistableBundle getConfigFromCarrierApp(int phoneId) {
         return mConfigFromCarrierApp[phoneId];
     }
 
     @VisibleForTesting
+    @NonNull
      /* package */ PersistableBundle getNoSimConfig() {
         return mNoSimConfig;
     }
 
     @VisibleForTesting
+    @Nullable
     /* package */ PersistableBundle getOverrideConfig(int phoneId) {
         return mOverrideConfigs[phoneId];
     }
 
-    private void unbindIfBound(Context context, CarrierServiceConnection conn,
+    // TODO(b/185129900): always call unbindService after bind, no matter if it succeeded
+    private void unbindIfBound(@NonNull Context context, @NonNull CarrierServiceConnection conn,
             int phoneId) {
         if (mServiceBound[phoneId]) {
             mServiceBound[phoneId] = false;
@@ -1403,8 +1459,8 @@
         }
     }
 
-    private void unbindIfBoundForNoSimConfig(Context context, CarrierServiceConnection conn,
-            int phoneId) {
+    private void unbindIfBoundForNoSimConfig(@NonNull Context context,
+            @NonNull CarrierServiceConnection conn, int phoneId) {
         if (mServiceBoundForNoSimConfig[phoneId]) {
             mServiceBoundForNoSimConfig[phoneId] = false;
             context.unbindService(conn);
@@ -1415,6 +1471,7 @@
      * Returns a boxed Integer object for phoneId, services as message token to distinguish messages
      * with same code when calling {@link Handler#removeMessages(int, Object)}.
      */
+    @NonNull
     private Integer getMessageToken(int phoneId) {
         if (phoneId < -128 || phoneId > 127) {
             throw new IllegalArgumentException("phoneId should be in range [-128, 127], inclusive");
@@ -1432,7 +1489,7 @@
      * too much info, but we still want to let carrier apps include their diagnostics.
      */
     @Override
-    public void dump(FileDescriptor fd, PrintWriter pw, String[] args) {
+    public void dump(@NonNull FileDescriptor fd, @NonNull PrintWriter pw, @NonNull String[] args) {
         IndentingPrintWriter indentPW = new IndentingPrintWriter(pw, "    ");
         if (mContext.checkCallingOrSelfPermission(android.Manifest.permission.DUMP)
                 != PackageManager.PERMISSION_GRANTED) {
@@ -1451,7 +1508,7 @@
         }
 
         indentPW.println("CarrierConfigLoader: " + this);
-        for (int i = 0; i < TelephonyManager.from(mContext).getActiveModemCount(); i++) {
+        for (int i = 0; i < mNumPhones; i++) {
             indentPW.println("Phone Id = " + i);
             // display default values in CarrierConfigManager
             printConfig(CarrierConfigManager.getDefaultConfig(), indentPW,
@@ -1480,8 +1537,8 @@
         }
     }
 
-    private void printConfig(PersistableBundle configApp, IndentingPrintWriter indentPW,
-            String name) {
+    private void printConfig(@NonNull PersistableBundle configApp,
+            @NonNull IndentingPrintWriter indentPW, @NonNull String name) {
         indentPW.increaseIndent();
         if (configApp == null) {
             indentPW.println(name + " : null ");
@@ -1518,7 +1575,7 @@
      *
      * @throws SecurityException if none of the above conditions are met.
      */
-    private void enforceCallerIsSystemOrRequestingPackage(String requestingPackage)
+    private void enforceCallerIsSystemOrRequestingPackage(@NonNull String requestingPackage)
             throws SecurityException {
         final int callingUid = Binder.getCallingUid();
         if (callingUid == Process.ROOT_UID || callingUid == Process.SYSTEM_UID
@@ -1546,8 +1603,9 @@
      *                                  otherwise, only dump a carrier service if it is {@code
      *                                  targetPkgName}
      */
-    private void dumpCarrierServiceIfBound(FileDescriptor fd, IndentingPrintWriter indentPW,
-            String prefix, String targetPkgName, boolean considerCarrierPrivileges) {
+    private void dumpCarrierServiceIfBound(@NonNull FileDescriptor fd,
+            @NonNull IndentingPrintWriter indentPW, @NonNull String prefix,
+            @NonNull String targetPkgName, boolean considerCarrierPrivileges) {
         // Null package is possible if it's early in the boot process, there was a recent crash, we
         // loaded the config from XML most recently, or a SIM slot is empty. Carrier apps with
         // long-lived bindings should typically get dumped here regardless. Even if an app is being
@@ -1616,7 +1674,7 @@
         indentPW.decreaseIndent();
     }
 
-    private boolean hasCarrierPrivileges(String pkgName, int phoneId) {
+    private boolean hasCarrierPrivileges(@NonNull String pkgName, int phoneId) {
         int[] subIds = SubscriptionManager.getSubId(phoneId);
         if (ArrayUtils.isEmpty(subIds)) {
             return false;
@@ -1628,37 +1686,37 @@
 
     private class CarrierServiceConnection implements ServiceConnection {
         final int phoneId;
-        final String pkgName;
+        @NonNull final String pkgName;
         final int eventId;
         IBinder service;
 
-        CarrierServiceConnection(int phoneId, String pkgName, int eventId) {
+        CarrierServiceConnection(int phoneId, @NonNull String pkgName, int eventId) {
             this.phoneId = phoneId;
             this.pkgName = pkgName;
             this.eventId = eventId;
         }
 
         @Override
-        public void onServiceConnected(ComponentName name, IBinder service) {
+        public void onServiceConnected(@NonNull ComponentName name, @NonNull IBinder service) {
             logd("Connected to config app: " + name.flattenToShortString());
             this.service = service;
             mHandler.sendMessage(mHandler.obtainMessage(eventId, phoneId, -1, this));
         }
 
         @Override
-        public void onServiceDisconnected(ComponentName name) {
+        public void onServiceDisconnected(@NonNull ComponentName name) {
             logd("Disconnected from config app: " + name.flattenToShortString());
             this.service = null;
         }
 
         @Override
-        public void onBindingDied(ComponentName name) {
+        public void onBindingDied(@NonNull ComponentName name) {
             logd("Binding died from config app: " + name.flattenToShortString());
             this.service = null;
         }
 
         @Override
-        public void onNullBinding(ComponentName name) {
+        public void onNullBinding(@NonNull ComponentName name) {
             logd("Null binding from config app: " + name.flattenToShortString());
             this.service = null;
         }
@@ -1666,35 +1724,55 @@
 
     private class ConfigLoaderBroadcastReceiver extends BroadcastReceiver {
         @Override
-        public void onReceive(Context context, Intent intent) {
-            String action = intent.getAction();
-            boolean replace = intent.getBooleanExtra(Intent.EXTRA_REPLACING, false);
-            // If replace is true, only care ACTION_PACKAGE_REPLACED.
-            if (replace && !Intent.ACTION_PACKAGE_REPLACED.equals(action)) {
-                return;
-            }
-
-            switch (action) {
+        public void onReceive(@NonNull Context context, @NonNull Intent intent) {
+            switch (intent.getAction()) {
                 case Intent.ACTION_BOOT_COMPLETED:
                     mHandler.sendMessage(mHandler.obtainMessage(EVENT_SYSTEM_UNLOCKED, null));
                     break;
 
-                case Intent.ACTION_PACKAGE_ADDED:
-                case Intent.ACTION_PACKAGE_REMOVED:
-                case Intent.ACTION_PACKAGE_REPLACED:
-                    int uid = intent.getIntExtra(Intent.EXTRA_UID, -1);
-                    String packageName = mContext.getPackageManager().getNameForUid(uid);
-                    if (packageName != null) {
-                        // We don't have a phoneId for arg1.
-                        mHandler.sendMessage(
-                                mHandler.obtainMessage(EVENT_PACKAGE_CHANGED, packageName));
-                    }
+                case TelephonyManager.ACTION_MULTI_SIM_CONFIG_CHANGED:
+                    mHandler.sendEmptyMessage(EVENT_MULTI_SIM_CONFIG_CHANGED);
                     break;
             }
         }
     }
 
+    private class CarrierServiceChangeCallback implements
+            TelephonyManager.CarrierPrivilegesCallback {
+        final int mPhoneId;
+        // CarrierPrivilegesCallback will be triggered upon registration. Filter the first callback
+        // here since we really care of the *change* of carrier service instead of the content
+        private boolean mHasSentServiceChangeCallback;
+
+        CarrierServiceChangeCallback(int phoneId) {
+            this.mPhoneId = phoneId;
+            this.mHasSentServiceChangeCallback = false;
+        }
+
+        @Override
+        public void onCarrierPrivilegesChanged(
+                @androidx.annotation.NonNull Set<String> privilegedPackageNames,
+                @androidx.annotation.NonNull Set<Integer> privilegedUids) {
+            // Ignored, not interested here
+        }
+
+        @Override
+        public void onCarrierServiceChanged(
+                @androidx.annotation.Nullable String carrierServicePackageName,
+                int carrierServiceUid) {
+            // Ignore the first callback which is triggered upon registration
+            if (!mHasSentServiceChangeCallback) {
+                mHasSentServiceChangeCallback = true;
+                return;
+            }
+            mHandler.sendMessage(
+                    mHandler.obtainMessage(EVENT_PACKAGE_CHANGED, mPhoneId, -1,
+                            carrierServicePackageName));
+        }
+    }
+
     // Get readable string for the message code supported in this class.
+    @NonNull
     private static String eventToString(int code) {
         switch (code) {
             case EVENT_CLEAR_CONFIG:
@@ -1744,20 +1822,20 @@
         }
     }
 
-    private void logd(String msg) {
+    private void logd(@NonNull String msg) {
         Log.d(LOG_TAG, msg);
     }
 
-    private void logd(String msg, Throwable tr) {
+    private void logd(@NonNull String msg, Throwable tr) {
         Log.d(LOG_TAG, msg, tr);
     }
 
-    private void logdWithLocalLog(String msg) {
+    private void logdWithLocalLog(@NonNull String msg) {
         Log.d(LOG_TAG, msg);
         mCarrierConfigLoadingLog.log(msg);
     }
 
-    private void loge(String msg) {
+    private void loge(@NonNull String msg) {
         Log.e(LOG_TAG, msg);
         mCarrierConfigLoadingLog.log(msg);
     }
diff --git a/src/com/android/phone/CdmaCallWaitingPreference.java b/src/com/android/phone/CdmaCallWaitingPreference.java
index 3713b19..6ff47d2 100644
--- a/src/com/android/phone/CdmaCallWaitingPreference.java
+++ b/src/com/android/phone/CdmaCallWaitingPreference.java
@@ -78,7 +78,7 @@
     public void onClick() {
         super.onClick();
 
-        AlertDialog.Builder builder = new AlertDialog.Builder(mContext);
+        AlertDialog.Builder builder = FrameworksUtils.makeAlertDialogBuilder(mContext);
         builder.setTitle(mContext.getText(R.string.cdma_call_waiting));
         builder.setMessage(mContext.getText(R.string.enable_cdma_call_waiting_setting));
         builder.setPositiveButton(R.string.enable_cdma_cw, new DialogInterface.OnClickListener() {
diff --git a/src/com/android/phone/ChangeIccPinScreen.java b/src/com/android/phone/ChangeIccPinScreen.java
index 70bf431..5369aa3 100644
--- a/src/com/android/phone/ChangeIccPinScreen.java
+++ b/src/com/android/phone/ChangeIccPinScreen.java
@@ -277,7 +277,7 @@
     private AlertDialog mPUKAlert;
     private void displayPUKAlert () {
         if (mPUKAlert == null) {
-            mPUKAlert = new AlertDialog.Builder(this)
+            mPUKAlert = FrameworksUtils.makeAlertDialogBuilder(this)
             .setMessage (R.string.puk_requested)
             .setCancelable(false)
             .show();
diff --git a/src/com/android/phone/EmergencyActionGroup.java b/src/com/android/phone/EmergencyActionGroup.java
deleted file mode 100644
index 4961a69..0000000
--- a/src/com/android/phone/EmergencyActionGroup.java
+++ /dev/null
@@ -1,337 +0,0 @@
-/*
- * Copyright (C) 2015 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License
- */
-
-package com.android.phone;
-
-import android.animation.Animator;
-import android.animation.AnimatorListenerAdapter;
-import android.annotation.Nullable;
-import android.content.ComponentName;
-import android.content.Context;
-import android.content.Intent;
-import android.content.pm.ResolveInfo;
-import android.telephony.TelephonyManager;
-import android.text.Layout;
-import android.text.TextUtils;
-import android.util.AttributeSet;
-import android.util.TypedValue;
-import android.view.Gravity;
-import android.view.MotionEvent;
-import android.view.View;
-import android.view.ViewAnimationUtils;
-import android.view.ViewGroup;
-import android.view.accessibility.AccessibilityManager;
-import android.view.animation.AnimationUtils;
-import android.view.animation.Interpolator;
-import android.widget.Button;
-import android.widget.FrameLayout;
-import android.widget.TextView;
-
-import java.util.List;
-
-public class EmergencyActionGroup extends FrameLayout implements View.OnClickListener {
-
-    private static final long HIDE_DELAY = 3000;
-    private static final int RIPPLE_DURATION = 600;
-    private static final long RIPPLE_PAUSE = 1000;
-
-    private final Interpolator mFastOutLinearInInterpolator;
-
-    private ViewGroup mSelectedContainer;
-    private TextView mSelectedLabel;
-    private View mRippleView;
-    private View mLaunchHint;
-
-    private View mLastRevealed;
-
-    private MotionEvent mPendingTouchEvent;
-
-    private boolean mHiding;
-
-    public EmergencyActionGroup(Context context, @Nullable AttributeSet attrs) {
-        super(context, attrs);
-        mFastOutLinearInInterpolator = AnimationUtils.loadInterpolator(context,
-                android.R.interpolator.fast_out_linear_in);
-    }
-
-    @Override
-    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
-        super.onMeasure(widthMeasureSpec, heightMeasureSpec);
-    }
-
-    @Override
-    protected void onFinishInflate() {
-        super.onFinishInflate();
-
-        mSelectedContainer = (ViewGroup) findViewById(R.id.selected_container);
-        mSelectedContainer.setOnClickListener(this);
-        mSelectedLabel = (TextView) findViewById(R.id.selected_label);
-        mSelectedLabel.addOnLayoutChangeListener(mLayoutChangeListener);
-        mRippleView = findViewById(R.id.ripple_view);
-        mLaunchHint = findViewById(R.id.launch_hint);
-        mLaunchHint.addOnLayoutChangeListener(mLayoutChangeListener);
-    }
-
-    @Override
-    protected void onWindowVisibilityChanged(int visibility) {
-        super.onWindowVisibilityChanged(visibility);
-        if (visibility == View.VISIBLE) {
-            setupAssistActions();
-        }
-    }
-
-    /**
-     * Called by the activity before a touch event is dispatched to the view hierarchy.
-     */
-    public void onPreTouchEvent(MotionEvent event) {
-        mPendingTouchEvent = event;
-    }
-
-    @Override
-    public boolean dispatchTouchEvent(MotionEvent event) {
-        boolean handled = super.dispatchTouchEvent(event);
-        if (mPendingTouchEvent == event && handled) {
-            mPendingTouchEvent = null;
-        }
-        return handled;
-    }
-
-    /**
-     * Called by the activity after a touch event is dispatched to the view hierarchy.
-     */
-    public void onPostTouchEvent(MotionEvent event) {
-        // Hide the confirmation button if a touch event was delivered to the activity but not to
-        // this view.
-        if (mPendingTouchEvent != null) {
-            hideTheButton();
-        }
-        mPendingTouchEvent = null;
-    }
-
-    private void setupAssistActions() {
-        int[] buttonIds = new int[] {R.id.action1, R.id.action2, R.id.action3};
-
-        List<ResolveInfo> infos;
-
-        if (TelephonyManager.EMERGENCY_ASSISTANCE_ENABLED) {
-            infos = EmergencyAssistanceHelper.resolveAssistPackageAndQueryActivities(getContext());
-        } else {
-            infos = null;
-        }
-
-        for (int i = 0; i < 3; i++) {
-            Button button = (Button) findViewById(buttonIds[i]);
-            boolean visible = false;
-
-            button.setOnClickListener(this);
-
-            if (infos != null && infos.size() > i && infos.get(i) != null) {
-                ResolveInfo info = infos.get(i);
-                ComponentName name = EmergencyAssistanceHelper.getComponentName(info);
-
-                button.setTag(R.id.tag_intent,
-                        new Intent(EmergencyAssistanceHelper.getIntentAction())
-                                .setComponent(name));
-                button.setText(info.loadLabel(getContext().getPackageManager()));
-                visible = true;
-            }
-
-            button.setVisibility(visible ? View.VISIBLE : View.GONE);
-        }
-    }
-
-    @Override
-    public void onClick(View v) {
-        Intent intent = (Intent) v.getTag(R.id.tag_intent);
-
-        if (v.getId() == R.id.action1 || v.getId() == R.id.action2 || v.getId() == R.id.action3) {
-            AccessibilityManager accessibilityMgr =
-                    (AccessibilityManager) getContext().getSystemService(
-                            Context.ACCESSIBILITY_SERVICE);
-            if (accessibilityMgr.isTouchExplorationEnabled()) {
-                getContext().startActivity(intent);
-            } else {
-                revealTheButton(v);
-            }
-        } else if (v.getId() == R.id.selected_container) {
-            if (!mHiding) {
-                getContext().startActivity(intent);
-            }
-        }
-    }
-
-    private void revealTheButton(View v) {
-        CharSequence buttonText = ((Button) v).getText();
-        mSelectedLabel.setText(buttonText);
-        mSelectedLabel.setAutoSizeTextTypeWithDefaults(TextView.AUTO_SIZE_TEXT_TYPE_UNIFORM);
-
-        // In order to trigger OnLayoutChangeListener for reset default minimum font size.
-        mSelectedLabel.requestLayout();
-        mLaunchHint.requestLayout();
-
-        mSelectedContainer.setVisibility(VISIBLE);
-        int centerX = v.getLeft() + v.getWidth() / 2;
-        int centerY = v.getTop() + v.getHeight() / 2;
-        Animator reveal = ViewAnimationUtils.createCircularReveal(
-                mSelectedContainer,
-                centerX,
-                centerY,
-                0,
-                Math.max(centerX, mSelectedContainer.getWidth() - centerX)
-                        + Math.max(centerY, mSelectedContainer.getHeight() - centerY));
-        reveal.start();
-
-        animateHintText(mSelectedLabel, v, reveal);
-        animateHintText(mLaunchHint, v, reveal);
-
-        mSelectedContainer.setTag(R.id.tag_intent, v.getTag(R.id.tag_intent));
-        mLastRevealed = v;
-        postDelayed(mHideRunnable, HIDE_DELAY);
-        postDelayed(mRippleRunnable, RIPPLE_PAUSE / 2);
-
-        // Transfer focus from the originally clicked button to the expanded button.
-        mSelectedContainer.requestFocus();
-    }
-
-
-    private final OnLayoutChangeListener mLayoutChangeListener = new OnLayoutChangeListener() {
-        @Override
-        public void onLayoutChange(View v, int left, int top, int right, int bottom,
-                int oldLeft,
-                int oldTop, int oldRight, int oldBottom) {
-            decreaseAutoSizeMinTextSize(v);
-        }
-    };
-
-    /**
-     * Prevent some localization string will be truncated if there is low resolution screen
-     * or font size and display size of setting is largest.
-     */
-    private void decreaseAutoSizeMinTextSize(View selectedView) {
-        if (selectedView != null) {
-            if (selectedView instanceof TextView) {
-                TextView textView = (TextView) selectedView;
-                textView.setEllipsize(TextUtils.TruncateAt.END);
-
-                // The textView layout will be null due to it's property is hiding when
-                // initialization.
-                Layout layout = textView.getLayout();
-                if (layout != null) {
-                    if (layout.getEllipsisCount(textView.getMaxLines() - 1) > 0) {
-                        textView.setAutoSizeTextTypeUniformWithConfiguration(
-                                8,
-                                textView.getAutoSizeMaxTextSize(),
-                                textView.getAutoSizeStepGranularity(),
-                                TypedValue.COMPLEX_UNIT_SP);
-                        textView.setGravity(Gravity.CENTER);
-                    }
-                }
-            }
-        }
-    }
-
-    private void animateHintText(View selectedView, View v, Animator reveal) {
-        selectedView.setTranslationX(
-                (v.getLeft() + v.getWidth() / 2 - mSelectedContainer.getWidth() / 2) / 5);
-        selectedView.animate()
-                .setDuration(reveal.getDuration() / 3)
-                .setStartDelay(reveal.getDuration() / 5)
-                .translationX(0)
-                .setInterpolator(mFastOutLinearInInterpolator)
-                .start();
-    }
-
-    private void hideTheButton() {
-        if (mHiding || mSelectedContainer.getVisibility() != VISIBLE) {
-            return;
-        }
-
-        mHiding = true;
-
-        removeCallbacks(mHideRunnable);
-
-        View v = mLastRevealed;
-        int centerX = v.getLeft() + v.getWidth() / 2;
-        int centerY = v.getTop() + v.getHeight() / 2;
-        Animator reveal = ViewAnimationUtils.createCircularReveal(
-                mSelectedContainer,
-                centerX,
-                centerY,
-                Math.max(centerX, mSelectedContainer.getWidth() - centerX)
-                        + Math.max(centerY, mSelectedContainer.getHeight() - centerY),
-                0);
-        reveal.addListener(new AnimatorListenerAdapter() {
-            @Override
-            public void onAnimationEnd(Animator animation) {
-                mSelectedContainer.setVisibility(INVISIBLE);
-                removeCallbacks(mRippleRunnable);
-                mHiding = false;
-            }
-        });
-        reveal.start();
-
-        // Transfer focus back to the originally clicked button.
-        if (mSelectedContainer.isFocused()) {
-            v.requestFocus();
-        }
-    }
-
-    private void startRipple() {
-        final View ripple = mRippleView;
-        ripple.animate().cancel();
-        ripple.setVisibility(VISIBLE);
-        Animator reveal = ViewAnimationUtils.createCircularReveal(
-                ripple,
-                ripple.getLeft() + ripple.getWidth() / 2,
-                ripple.getTop() + ripple.getHeight() / 2,
-                0,
-                ripple.getWidth() / 2);
-        reveal.setDuration(RIPPLE_DURATION);
-        reveal.start();
-
-        ripple.setAlpha(0);
-        ripple.animate().alpha(1).setDuration(RIPPLE_DURATION / 2)
-                .withEndAction(new Runnable() {
-            @Override
-            public void run() {
-                ripple.animate().alpha(0).setDuration(RIPPLE_DURATION / 2)
-                        .withEndAction(new Runnable() {
-                            @Override
-                            public void run() {
-                                ripple.setVisibility(INVISIBLE);
-                                postDelayed(mRippleRunnable, RIPPLE_PAUSE);
-                            }
-                        }).start();
-            }
-        }).start();
-    }
-
-    private final Runnable mHideRunnable = new Runnable() {
-        @Override
-        public void run() {
-            if (!isAttachedToWindow()) return;
-            hideTheButton();
-        }
-    };
-
-    private final Runnable mRippleRunnable = new Runnable() {
-        @Override
-        public void run() {
-            if (!isAttachedToWindow()) return;
-            startRipple();
-        }
-    };
-}
diff --git a/src/com/android/phone/EmergencyCallbackModeExitDialog.java b/src/com/android/phone/EmergencyCallbackModeExitDialog.java
index adba850..fc0e513 100644
--- a/src/com/android/phone/EmergencyCallbackModeExitDialog.java
+++ b/src/com/android/phone/EmergencyCallbackModeExitDialog.java
@@ -30,6 +30,7 @@
 import android.content.Intent;
 import android.content.IntentFilter;
 import android.content.ServiceConnection;
+import android.icu.text.MessageFormat;
 import android.os.AsyncResult;
 import android.os.Bundle;
 import android.os.CountDownTimer;
@@ -43,6 +44,9 @@
 import com.android.internal.telephony.Phone;
 import com.android.internal.telephony.TelephonyIntents;
 
+import java.util.HashMap;
+import java.util.Map;
+
 /**
  * Displays dialog that enables users to exit Emergency Callback Mode
  *
@@ -297,20 +301,22 @@
         int minutes = (int)(millisUntilFinished / 60000);
         String time = String.format("%d:%02d", minutes,
                 (millisUntilFinished % 60000) / 1000);
+        Map<String, Object> msgArgs = new HashMap<>();
+        msgArgs.put("count", minutes);
 
         switch (mDialogType) {
         case EXIT_ECM_BLOCK_OTHERS:
-            return String.format(getResources().getQuantityText(
-                    R.plurals.alert_dialog_not_avaialble_in_ecm, minutes).toString(), time);
+            return MessageFormat.format(getResources().getString(
+                    R.string.alert_dialog_not_avaialble_in_ecm, time), msgArgs);
         case EXIT_ECM_DIALOG:
                 boolean shouldRestrictData = mPhone.getImsPhone() != null
                         && mPhone.getImsPhone().isInImsEcm();
-                return String.format(getResources().getQuantityText(
+                return MessageFormat.format(getResources().getString(
                         // During IMS ECM, data restriction hint should be removed.
                         shouldRestrictData
-                        ? R.plurals.alert_dialog_exit_ecm_without_data_restriction_hint
-                        : R.plurals.alert_dialog_exit_ecm,
-                        minutes).toString(), time);
+                        ? R.string.alert_dialog_exit_ecm_without_data_restriction_hint
+                        : R.string.alert_dialog_exit_ecm,
+                        time), msgArgs);
         }
         return null;
     }
diff --git a/src/com/android/phone/EmergencyDialer.java b/src/com/android/phone/EmergencyDialer.java
index 42bfb24..9b7a43e 100644
--- a/src/com/android/phone/EmergencyDialer.java
+++ b/src/com/android/phone/EmergencyDialer.java
@@ -173,9 +173,8 @@
     // determines if we want to playback local DTMF tones.
     private boolean mDTMFToneEnabled;
 
-    private EmergencyActionGroup mEmergencyActionGroup;
-
-    private EmergencyInfoGroup mEmergencyInfoGroup;
+    private EmergencyInfoGroup mEmergencyInfoInDialpad;
+    private EmergencyInfoGroup mEmergencyInfoInShortcut;
 
     // close activity when screen turns off
     private BroadcastReceiver mBroadcastReceiver = new BroadcastReceiver() {
@@ -357,9 +356,13 @@
         intentFilter.addAction(Intent.ACTION_SCREEN_OFF);
         registerReceiver(mBroadcastReceiver, intentFilter);
 
-        mEmergencyActionGroup = (EmergencyActionGroup) findViewById(R.id.emergency_action_group);
+        mEmergencyInfoInDialpad = findViewById(R.id.emergency_dialer)
+                .findViewById(R.id.emergency_info_button);
 
-        mEmergencyInfoGroup = (EmergencyInfoGroup) findViewById(R.id.emergency_info_button);
+        mEmergencyInfoInShortcut = findViewById(R.id.emergency_dialer_shortcuts)
+                .findViewById(R.id.emergency_info_button);
+
+        setupEmergencyDialpadViews();
 
         if (mShortcutViewConfig.isEnabled()) {
             setupEmergencyShortcutsView();
@@ -968,6 +971,10 @@
         }
     }
 
+    private void setupEmergencyDialpadViews() {
+        mEmergencyInfoInDialpad.setOnConfirmClickListener(this);
+    }
+
     private void setupEmergencyShortcutsView() {
         mEmergencyShortcutView = findViewById(R.id.emergency_dialer_shortcuts);
         mDialpadView = findViewById(R.id.emergency_dialer);
@@ -978,7 +985,7 @@
         final View dialpadButton = findViewById(R.id.floating_action_button_dialpad);
         dialpadButton.setOnClickListener(this);
 
-        mEmergencyInfoGroup.setOnConfirmClickListener(this);
+        mEmergencyInfoInShortcut.setOnConfirmClickListener(this);
 
         mEmergencyShortcutButtonList = new ArrayList<>();
         setupEmergencyCallShortcutButton();
@@ -1076,8 +1083,8 @@
      * Called by the activity before a touch event is dispatched to the view hierarchy.
      */
     private void onPreTouchEvent(MotionEvent event) {
-        mEmergencyActionGroup.onPreTouchEvent(event);
-        mEmergencyInfoGroup.onPreTouchEvent(event);
+        mEmergencyInfoInDialpad.onPreTouchEvent(event);
+        mEmergencyInfoInShortcut.onPreTouchEvent(event);
 
         if (mEmergencyShortcutButtonList != null) {
             for (EmergencyShortcutButton button : mEmergencyShortcutButtonList) {
@@ -1090,8 +1097,8 @@
      * Called by the activity after a touch event is dispatched to the view hierarchy.
      */
     private void onPostTouchEvent(MotionEvent event) {
-        mEmergencyActionGroup.onPostTouchEvent(event);
-        mEmergencyInfoGroup.onPostTouchEvent(event);
+        mEmergencyInfoInDialpad.onPostTouchEvent(event);
+        mEmergencyInfoInShortcut.onPostTouchEvent(event);
 
         if (mEmergencyShortcutButtonList != null) {
             for (EmergencyShortcutButton button : mEmergencyShortcutButtonList) {
diff --git a/src/com/android/phone/FrameworksUtils.java b/src/com/android/phone/FrameworksUtils.java
new file mode 100644
index 0000000..dcf10bd
--- /dev/null
+++ b/src/com/android/phone/FrameworksUtils.java
@@ -0,0 +1,38 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.phone;
+
+import android.app.AlertDialog;
+import android.content.Context;
+import android.content.res.Configuration;
+
+/**
+ * This class provides utility functions over framework APIs
+ */
+public class FrameworksUtils {
+    /**
+     * Create a new instance of {@link AlertDialog.Builder}.
+     * @param context reference to a Context
+     * @return an instance of AlertDialog.Builder
+     */
+    public static AlertDialog.Builder makeAlertDialogBuilder(Context context) {
+        boolean isDarkTheme = (context.getResources().getConfiguration().uiMode
+                & Configuration.UI_MODE_NIGHT_MASK) == Configuration.UI_MODE_NIGHT_YES;
+        return new AlertDialog.Builder(context, isDarkTheme
+                ? android.R.style.Theme_DeviceDefault_Dialog_Alert : 0);
+    }
+}
diff --git a/src/com/android/phone/GsmUmtsCallBarringOptions.java b/src/com/android/phone/GsmUmtsCallBarringOptions.java
index 30e9b5c..99dc92f 100644
--- a/src/com/android/phone/GsmUmtsCallBarringOptions.java
+++ b/src/com/android/phone/GsmUmtsCallBarringOptions.java
@@ -236,8 +236,13 @@
                                     "change password for call barring failed with exception: "
                                             + ar.exception);
                         }
-                        onException(mButtonChangePW, (CommandException) ar.exception);
-                        mButtonChangePW.setEnabled(true);
+                        CommandException commandException = (CommandException) ar.exception;
+                        onException(mButtonChangePW, commandException);
+                        if (commandException.getCommandError()
+                                != CommandException.Error.FDN_CHECK_FAILURE) {
+                            // Not a FDN_CHECK_FAILURE, enable mButtonChangePW
+                            mButtonChangePW.setEnabled(true);
+                        }
                     } else if (ar.userObj instanceof Throwable) {
                         onError(mButtonChangePW, RESPONSE_ERROR);
                     } else {
diff --git a/src/com/android/phone/ImsProvisioningController.java b/src/com/android/phone/ImsProvisioningController.java
new file mode 100644
index 0000000..696f567
--- /dev/null
+++ b/src/com/android/phone/ImsProvisioningController.java
@@ -0,0 +1,1579 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.phone;
+
+import static android.telephony.ims.ImsRcsManager.CAPABILITY_TYPE_OPTIONS_UCE;
+import static android.telephony.ims.ImsRcsManager.CAPABILITY_TYPE_PRESENCE_UCE;
+import static android.telephony.ims.ProvisioningManager.KEY_EAB_PROVISIONING_STATUS;
+import static android.telephony.ims.ProvisioningManager.KEY_VOICE_OVER_WIFI_ENABLED_OVERRIDE;
+import static android.telephony.ims.ProvisioningManager.KEY_VOLTE_PROVISIONING_STATUS;
+import static android.telephony.ims.ProvisioningManager.KEY_VT_PROVISIONING_STATUS;
+import static android.telephony.ims.ProvisioningManager.PROVISIONING_VALUE_DISABLED;
+import static android.telephony.ims.ProvisioningManager.PROVISIONING_VALUE_ENABLED;
+import static android.telephony.ims.feature.ImsFeature.FEATURE_MMTEL;
+import static android.telephony.ims.feature.ImsFeature.FEATURE_RCS;
+import static android.telephony.ims.feature.MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_CALL_COMPOSER;
+import static android.telephony.ims.feature.MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_SMS;
+import static android.telephony.ims.feature.MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_UT;
+import static android.telephony.ims.feature.MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_VIDEO;
+import static android.telephony.ims.feature.MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_VOICE;
+import static android.telephony.ims.stub.ImsRegistrationImplBase.REGISTRATION_TECH_CROSS_SIM;
+import static android.telephony.ims.stub.ImsRegistrationImplBase.REGISTRATION_TECH_IWLAN;
+import static android.telephony.ims.stub.ImsRegistrationImplBase.REGISTRATION_TECH_LTE;
+import static android.telephony.ims.stub.ImsRegistrationImplBase.REGISTRATION_TECH_MAX;
+import static android.telephony.ims.stub.ImsRegistrationImplBase.REGISTRATION_TECH_NONE;
+import static android.telephony.ims.stub.ImsRegistrationImplBase.REGISTRATION_TECH_NR;
+
+import android.annotation.Nullable;
+import android.content.Context;
+import android.os.AsyncResult;
+import android.os.Handler;
+import android.os.HandlerThread;
+import android.os.Looper;
+import android.os.Message;
+import android.os.PersistableBundle;
+import android.os.RemoteCallbackList;
+import android.os.RemoteException;
+import android.telephony.CarrierConfigManager;
+import android.telephony.CarrierConfigManager.Ims;
+import android.telephony.SubscriptionManager;
+import android.telephony.TelephonyRegistryManager;
+import android.telephony.ims.ProvisioningManager;
+import android.telephony.ims.aidl.IFeatureProvisioningCallback;
+import android.telephony.ims.aidl.IImsConfig;
+import android.telephony.ims.feature.MmTelFeature.MmTelCapabilities;
+import android.telephony.ims.feature.RcsFeature.RcsImsCapabilities;
+import android.telephony.ims.stub.ImsConfigImplBase;
+import android.telephony.ims.stub.ImsRegistrationImplBase;
+import android.util.SparseArray;
+
+import com.android.ims.FeatureConnector;
+import com.android.ims.ImsConfig;
+import com.android.ims.ImsException;
+import com.android.ims.ImsManager;
+import com.android.ims.RcsFeatureManager;
+import com.android.internal.annotations.VisibleForTesting;
+import com.android.internal.telephony.PhoneConfigurationManager;
+import com.android.internal.telephony.util.HandlerExecutor;
+import com.android.telephony.Rlog;
+
+import java.util.Arrays;
+import java.util.Map;
+import java.util.concurrent.Executor;
+
+/**
+ * Provides APIs for MMTEL and RCS provisioning status. This class handles provisioning status and
+ * notifies the status changing for each capability
+ * {{@link MmTelCapabilities.MmTelCapability} for MMTel services}
+ * {{@link RcsImsCapabilities.RcsImsCapabilityFlag} for RCS services}
+ */
+public class ImsProvisioningController {
+    private static final String TAG = "ImsProvisioningController";
+    private static final int INVALID_VALUE = -1;
+
+    private static final int EVENT_SUB_CHANGED = 1;
+    private static final int EVENT_PROVISIONING_CAPABILITY_CHANGED = 2;
+    @VisibleForTesting
+    protected static final int EVENT_MULTI_SIM_CONFIGURATION_CHANGE = 3;
+
+    // Provisioning Keys that are handled via AOSP cache and not sent to the ImsService
+    private static final int[] LOCAL_IMS_CONFIG_KEYS = {
+            KEY_VOLTE_PROVISIONING_STATUS,
+            KEY_VT_PROVISIONING_STATUS,
+            KEY_VOICE_OVER_WIFI_ENABLED_OVERRIDE,
+            KEY_EAB_PROVISIONING_STATUS
+    };
+    private static final int[] LOCAL_RADIO_TECHS = {
+            REGISTRATION_TECH_LTE,
+            REGISTRATION_TECH_IWLAN,
+            REGISTRATION_TECH_CROSS_SIM,
+            REGISTRATION_TECH_NR
+    };
+
+    private static final int MMTEL_CAPABILITY_MIN = MmTelCapabilities.CAPABILITY_TYPE_NONE;
+    private static final int MMTEL_CAPABILITY_MAX = MmTelCapabilities.CAPABILITY_TYPE_MAX;
+
+    private static final int RCS_CAPABILITY_MIN = RcsImsCapabilities.CAPABILITY_TYPE_NONE;
+    private static final int RCS_CAPABILITY_MAX = RcsImsCapabilities.CAPABILITY_TYPE_MAX;
+
+    private static final int[] LOCAL_MMTEL_CAPABILITY = {
+            CAPABILITY_TYPE_VOICE,
+            CAPABILITY_TYPE_VIDEO,
+            CAPABILITY_TYPE_UT,
+            CAPABILITY_TYPE_SMS,
+            CAPABILITY_TYPE_CALL_COMPOSER
+    };
+
+    /**
+     * map the MmTelCapabilities.MmTelCapability and
+     * CarrierConfigManager.Ims.KEY_CAPABILITY_TYPE_VOICE_INT
+     * CarrierConfigManager.Ims.KEY_CAPABILITY_TYPE_VIDEO_INT
+     * CarrierConfigManager.Ims.KEY_CAPABILITY_TYPE_UT_INT
+     * CarrierConfigManager.Ims.KEY_CAPABILITY_TYPE_SMS_INT
+     * CarrierConfigManager.Ims.KEY_CAPABILITY_TYPE_CALL_COMPOSER_INT
+     */
+    private static final Map<Integer, String> KEYS_MMTEL_CAPABILITY = Map.of(
+            CAPABILITY_TYPE_VOICE, Ims.KEY_CAPABILITY_TYPE_VOICE_INT_ARRAY,
+            CAPABILITY_TYPE_VIDEO, Ims.KEY_CAPABILITY_TYPE_VIDEO_INT_ARRAY,
+            CAPABILITY_TYPE_UT, Ims.KEY_CAPABILITY_TYPE_UT_INT_ARRAY,
+            CAPABILITY_TYPE_SMS, Ims.KEY_CAPABILITY_TYPE_SMS_INT_ARRAY,
+            CAPABILITY_TYPE_CALL_COMPOSER, Ims.KEY_CAPABILITY_TYPE_CALL_COMPOSER_INT_ARRAY
+    );
+
+    /**
+     * map the RcsImsCapabilities.RcsImsCapabilityFlag and
+     * CarrierConfigManager.Ims.KEY_CAPABILITY_TYPE_OPTIONS_UCE
+     * CarrierConfigManager.Ims.KEY_CAPABILITY_TYPE_PRESENCE_UCE
+     */
+    private static final Map<Integer, String> KEYS_RCS_CAPABILITY = Map.of(
+            CAPABILITY_TYPE_OPTIONS_UCE, Ims.KEY_CAPABILITY_TYPE_OPTIONS_UCE_INT_ARRAY,
+            CAPABILITY_TYPE_PRESENCE_UCE, Ims.KEY_CAPABILITY_TYPE_PRESENCE_UCE_INT_ARRAY
+    );
+
+    /**
+     * Create a FeatureConnector for this class to use to connect to an ImsManager.
+     */
+    @VisibleForTesting
+    public interface MmTelFeatureConnector {
+        /**
+         * Create a FeatureConnector for this class to use to connect to an ImsManager.
+         * @param listener will receive ImsManager instance.
+         * @param executor that the Listener callbacks will be called on.
+         * @return A FeatureConnector
+         */
+        FeatureConnector<ImsManager> create(Context context, int slotId,
+                String logPrefix, FeatureConnector.Listener<ImsManager> listener,
+                Executor executor);
+    }
+
+    /**
+     * Create a FeatureConnector for this class to use to connect to an RcsFeatureManager.
+     */
+    @VisibleForTesting
+    public interface RcsFeatureConnector {
+        /**
+         * Create a FeatureConnector for this class to use to connect to an RcsFeatureManager.
+         * @param listener will receive RcsFeatureManager instance.
+         * @param executor that the Listener callbacks will be called on.
+         * @return A FeatureConnector
+         */
+        FeatureConnector<RcsFeatureManager> create(Context context, int slotId,
+                FeatureConnector.Listener<RcsFeatureManager> listener,
+                Executor executor, String logPrefix);
+    }
+
+    private static ImsProvisioningController sInstance;
+
+    private final PhoneGlobals mApp;
+    private final Handler mHandler;
+    private final CarrierConfigManager mCarrierConfigManager;
+    private final SubscriptionManager mSubscriptionManager;
+    private final TelephonyRegistryManager mTelephonyRegistryManager;
+    private final MmTelFeatureConnector mMmTelFeatureConnector;
+    private final RcsFeatureConnector mRcsFeatureConnector;
+
+    // maps a slotId to a list of MmTelFeatureListeners
+    private final SparseArray<MmTelFeatureListener> mMmTelFeatureListenersSlotMap =
+            new SparseArray<>();
+    // maps a slotId to a list of RcsFeatureListeners
+    private final SparseArray<RcsFeatureListener> mRcsFeatureListenersSlotMap =
+            new SparseArray<>();
+    // map a slotId to a list of ProvisioningCallbackManager
+    private final SparseArray<ProvisioningCallbackManager> mProvisioningCallbackManagersSlotMap =
+            new SparseArray<>();
+    private final ImsProvisioningLoader mImsProvisioningLoader;
+
+    private int mNumSlot;
+
+    /**
+     * This class contains the provisioning status to notify changes.
+     * {{@link MmTelCapabilities.MmTelCapability} for MMTel services}
+     * {{@link android.telephony.ims.ImsRcsManager.RcsImsCapabilityFlag} for RCS services}
+     * {{@link ImsRegistrationImplBase.ImsRegistrationTech} for Registration tech}
+     */
+    private static final class FeatureProvisioningData {
+        public final int mCapability;
+        public final int mTech;
+        public final boolean mProvisioned;
+        public final boolean mIsMmTel;
+
+        FeatureProvisioningData(int capability, int tech, boolean provisioned, boolean isMmTel) {
+            mCapability = capability;
+            mTech = tech;
+            mProvisioned = provisioned;
+            mIsMmTel = isMmTel;
+        }
+    }
+
+    private final class MessageHandler extends Handler {
+        private static final String LOG_PREFIX = "Handler";
+        MessageHandler(Looper looper) {
+            super(looper);
+        }
+
+        @Override
+        public void handleMessage(Message msg) {
+            switch (msg.what) {
+                case EVENT_SUB_CHANGED:
+                    onSubscriptionsChanged();
+                    break;
+                case EVENT_PROVISIONING_CAPABILITY_CHANGED:
+                    try {
+                        mProvisioningCallbackManagersSlotMap.get(msg.arg1)
+                                .notifyProvisioningCapabilityChanged(
+                                        (FeatureProvisioningData) msg.obj);
+                    } catch (NullPointerException e) {
+                        logw(LOG_PREFIX, msg.arg1,
+                                "can not find callback manager message" + msg.what);
+                    }
+                    break;
+                case EVENT_MULTI_SIM_CONFIGURATION_CHANGE:
+                    int activeModemCount = (int) ((AsyncResult) msg.obj).result;
+                    onMultiSimConfigChanged(activeModemCount);
+                    break;
+                default:
+                    log("unknown message " + msg);
+                    break;
+            }
+        }
+    }
+
+    private final SubscriptionManager.OnSubscriptionsChangedListener mSubChangedListener =
+            new SubscriptionManager.OnSubscriptionsChangedListener() {
+                @Override
+                public void onSubscriptionsChanged() {
+                    if (!mHandler.hasMessages(EVENT_SUB_CHANGED)) {
+                        mHandler.sendEmptyMessage(EVENT_SUB_CHANGED);
+                    }
+                }
+            };
+
+    private final class ProvisioningCallbackManager {
+        private static final String LOG_PREFIX = "ProvisioningCallbackManager";
+        private RemoteCallbackList<IFeatureProvisioningCallback> mIFeatureProvisioningCallbackList;
+        private int mSubId;
+        private int mSlotId;
+
+        ProvisioningCallbackManager(int slotId) {
+            mIFeatureProvisioningCallbackList =
+                    new RemoteCallbackList<IFeatureProvisioningCallback>();
+            mSlotId = slotId;
+            mSubId = getSubId(slotId);
+            log(LOG_PREFIX, mSlotId, "ProvisioningCallbackManager create");
+        }
+
+        public void clear() {
+            log(LOG_PREFIX, mSlotId, "ProvisioningCallbackManager clear ");
+
+            mIFeatureProvisioningCallbackList.kill();
+
+            // All registered callbacks are unregistered, and the list is disabled
+            // need to create again
+            mIFeatureProvisioningCallbackList =
+                    new RemoteCallbackList<IFeatureProvisioningCallback>();
+        }
+
+        public void registerCallback(IFeatureProvisioningCallback localCallback) {
+            if (!mIFeatureProvisioningCallbackList.register(localCallback, (Object) mSubId)) {
+                log(LOG_PREFIX, mSlotId, "registration callback fail");
+            }
+        }
+
+        public void unregisterCallback(IFeatureProvisioningCallback localCallback) {
+            mIFeatureProvisioningCallbackList.unregister(localCallback);
+        }
+
+        public void setSubId(int subId) {
+            if (mSubId == subId) {
+                log(LOG_PREFIX, mSlotId, "subId is not changed ");
+                return;
+            }
+
+            mSubId = subId;
+            mSlotId = getSlotId(subId);
+
+            // subId changed means the registered callbacks are not available.
+            clear();
+        }
+
+        public boolean hasCallblacks() {
+            int size = mIFeatureProvisioningCallbackList.beginBroadcast();
+            mIFeatureProvisioningCallbackList.finishBroadcast();
+
+            return (size > 0);
+        }
+
+        public void notifyProvisioningCapabilityChanged(FeatureProvisioningData data) {
+            int size = mIFeatureProvisioningCallbackList.beginBroadcast();
+            for (int index = 0; index < size; index++) {
+                try {
+                    IFeatureProvisioningCallback imsFeatureProvisioningCallback =
+                            mIFeatureProvisioningCallbackList.getBroadcastItem(index);
+
+                    // MMTEL
+                    if (data.mIsMmTel
+                            && Arrays.stream(LOCAL_MMTEL_CAPABILITY)
+                            .anyMatch(value -> value == data.mCapability)) {
+                        imsFeatureProvisioningCallback.onFeatureProvisioningChanged(
+                                data.mCapability, data.mTech, data.mProvisioned);
+                        logi(LOG_PREFIX, mSlotId, "notifyProvisioningCapabilityChanged : "
+                                + "onFeatureProvisioningChanged"
+                                + " capability " + data.mCapability
+                                + " tech "  + data.mTech
+                                + " isProvisioned " + data.mProvisioned);
+                    } else if (data.mCapability == CAPABILITY_TYPE_PRESENCE_UCE) {
+                        imsFeatureProvisioningCallback.onRcsFeatureProvisioningChanged(
+                                data.mCapability, data.mTech, data.mProvisioned);
+                        logi(LOG_PREFIX, mSlotId, "notifyProvisioningCapabilityChanged : "
+                                + "onRcsFeatureProvisioningChanged"
+                                + " capability " + data.mCapability
+                                + " tech "  + data.mTech
+                                + " isProvisioned " + data.mProvisioned);
+                    } else {
+                        loge(LOG_PREFIX, mSlotId, "notifyProvisioningCapabilityChanged : "
+                                + "unknown capability "
+                                + data.mCapability);
+                    }
+                } catch (RemoteException e) {
+                    loge(LOG_PREFIX, mSlotId,
+                            "notifyProvisioningChanged: callback #" + index + " failed");
+                }
+            }
+            mIFeatureProvisioningCallbackList.finishBroadcast();
+        }
+    }
+
+    private final class MmTelFeatureListener implements FeatureConnector.Listener<ImsManager> {
+        private static final String LOG_PREFIX = "MmTelFeatureListener";
+        private FeatureConnector<ImsManager> mConnector;
+        private ImsManager mImsManager;
+        private boolean mReady = false;
+        // stores whether the initial provisioning key value should be notified to ImsService
+        private boolean mRequiredNotify = false;
+        private int mSubId;
+        private int mSlotId;
+
+        MmTelFeatureListener(int slotId) {
+            log(LOG_PREFIX, slotId, "created");
+
+            mSlotId = slotId;
+            mSubId = getSubId(slotId);
+            mConnector = mMmTelFeatureConnector.create(
+                    mApp, slotId, TAG, this, new HandlerExecutor(mHandler));
+            mConnector.connect();
+        }
+
+        public void setSubId(int subId) {
+            if (mRequiredNotify && mReady) {
+                mRequiredNotify = false;
+                setInitialProvisioningKeys(subId);
+            }
+            if (mSubId == subId) {
+                log(LOG_PREFIX, mSlotId, "subId is not changed");
+                return;
+            }
+
+            mSubId = subId;
+            mSlotId = getSlotId(subId);
+        }
+
+        public void destroy() {
+            log("destroy");
+            mConnector.disconnect();
+            mConnector = null;
+            mReady = false;
+            mImsManager = null;
+        }
+
+        public @Nullable ImsManager getImsManager() {
+            return mImsManager;
+        }
+
+        @Override
+        public void connectionReady(ImsManager manager, int subId) {
+            log(LOG_PREFIX, mSlotId, "connection ready");
+            mReady = true;
+            mImsManager = manager;
+
+            onMmTelAvailable();
+        }
+
+        @Override
+        public void connectionUnavailable(int reason) {
+            log(LOG_PREFIX, mSlotId, "connection unavailable " + reason);
+
+            mReady = false;
+            mImsManager = null;
+
+            // keep the callback for other reason
+            if (reason == FeatureConnector.UNAVAILABLE_REASON_IMS_UNSUPPORTED) {
+                onMmTelUnavailable();
+            }
+        }
+
+        public int setProvisioningValue(int key, int value) {
+            int retVal = ImsConfigImplBase.CONFIG_RESULT_FAILED;
+
+            if (!mReady) {
+                loge(LOG_PREFIX, mSlotId, "service is Unavailable");
+                return retVal;
+            }
+            try {
+                // getConfigInterface() will return not null or throw the ImsException
+                // need not null checking
+                ImsConfig imsConfig = getImsConfig(mImsManager);
+                retVal = imsConfig.setConfig(key, value);
+                log(LOG_PREFIX, mSlotId, "setConfig called with key " + key + " value " + value);
+            } catch (ImsException e) {
+                logw(LOG_PREFIX, mSlotId,
+                        "setConfig operation failed for key =" + key
+                        + ", value =" + value + ". Exception:" + e.getMessage());
+            }
+            return retVal;
+        }
+
+        public int getProvisioningValue(int key) {
+            if (!mReady) {
+                loge(LOG_PREFIX, mSlotId, "service is Unavailable");
+                return INVALID_VALUE;
+            }
+
+            int retValue = INVALID_VALUE;
+            try {
+                // getConfigInterface() will return not null or throw the ImsException
+                // need not null checking
+                ImsConfig imsConfig = getImsConfig(mImsManager);
+                retValue = imsConfig.getConfigInt(key);
+            } catch (ImsException e) {
+                logw(LOG_PREFIX, mSlotId,
+                        "getConfig operation failed for key =" + key
+                        + ", value =" + retValue + ". Exception:" + e.getMessage());
+            }
+            return retValue;
+        }
+
+        public void onMmTelAvailable() {
+            log(LOG_PREFIX, mSlotId, "onMmTelAvailable");
+
+            if (isValidSubId(mSubId)) {
+                mRequiredNotify = false;
+
+                // notify provisioning key value to ImsService
+                setInitialProvisioningKeys(mSubId);
+            } else {
+                // wait until subId is valid
+                mRequiredNotify = true;
+            }
+        }
+
+        public void onMmTelUnavailable() {
+            log(LOG_PREFIX, mSlotId, "onMmTelUnavailable");
+
+            try {
+                // delete all callbacks reference from ProvisioningManager
+                mProvisioningCallbackManagersSlotMap.get(getSlotId(mSubId)).clear();
+            } catch (NullPointerException e) {
+                logw(LOG_PREFIX, getSlotId(mSubId), "can not find callback manager to clear");
+            }
+        }
+
+        private void setInitialProvisioningKeys(int subId) {
+            boolean required;
+            int value = ImsProvisioningLoader.STATUS_NOT_SET;
+
+            // updating KEY_VOLTE_PROVISIONING_STATUS
+            try {
+                required = isImsProvisioningRequiredForCapability(subId, CAPABILITY_TYPE_VOICE,
+                        REGISTRATION_TECH_LTE);
+            } catch (IllegalArgumentException e) {
+                logw("setInitialProvisioningKeys: KEY_VOLTE_PROVISIONING_STATUS failed for"
+                        + " subId=" + subId + ", exception: " + e.getMessage());
+                return;
+            }
+
+            log(LOG_PREFIX, mSlotId,
+                    "setInitialProvisioningKeys provisioning required(voice, lte) " + required);
+            if (required) {
+                value = mImsProvisioningLoader.getProvisioningStatus(subId, FEATURE_MMTEL,
+                        CAPABILITY_TYPE_VOICE, REGISTRATION_TECH_LTE);
+                if (value != ImsProvisioningLoader.STATUS_NOT_SET) {
+                    value = (value == ImsProvisioningLoader.STATUS_PROVISIONED)
+                            ? PROVISIONING_VALUE_ENABLED : PROVISIONING_VALUE_DISABLED;
+                    setProvisioningValue(KEY_VOLTE_PROVISIONING_STATUS, value);
+                }
+            }
+
+            // updating KEY_VT_PROVISIONING_STATUS
+            try {
+                required = isImsProvisioningRequiredForCapability(subId, CAPABILITY_TYPE_VIDEO,
+                        REGISTRATION_TECH_LTE);
+            } catch (IllegalArgumentException e) {
+                logw("setInitialProvisioningKeys: KEY_VT_PROVISIONING_STATUS failed for"
+                        + " subId=" + subId + ", exception: " + e.getMessage());
+                return;
+            }
+
+            log(LOG_PREFIX, mSlotId,
+                    "setInitialProvisioningKeys provisioning required(video, lte) " + required);
+            if (required) {
+                value = mImsProvisioningLoader.getProvisioningStatus(subId, FEATURE_MMTEL,
+                        CAPABILITY_TYPE_VIDEO, REGISTRATION_TECH_LTE);
+                if (value != ImsProvisioningLoader.STATUS_NOT_SET) {
+                    value = (value == ImsProvisioningLoader.STATUS_PROVISIONED)
+                            ? PROVISIONING_VALUE_ENABLED : PROVISIONING_VALUE_DISABLED;
+                    setProvisioningValue(KEY_VT_PROVISIONING_STATUS, value);
+                }
+            }
+
+            // updating KEY_VOICE_OVER_WIFI_ENABLED_OVERRIDE
+            try {
+                required = isImsProvisioningRequiredForCapability(subId, CAPABILITY_TYPE_VOICE,
+                        REGISTRATION_TECH_IWLAN);
+            } catch (IllegalArgumentException e) {
+                logw("setInitialProvisioningKeys: KEY_VOICE_OVER_WIFI_ENABLED_OVERRIDE failed"
+                        + " for subId=" + subId + ", exception: " + e.getMessage());
+                return;
+            }
+
+            log(LOG_PREFIX, mSlotId,
+                    "setInitialProvisioningKeys provisioning required(voice, iwlan) " + required);
+            if (required) {
+                value = mImsProvisioningLoader.getProvisioningStatus(subId, FEATURE_MMTEL,
+                        CAPABILITY_TYPE_VOICE, REGISTRATION_TECH_IWLAN);
+                if (value != ImsProvisioningLoader.STATUS_NOT_SET) {
+                    value = (value == ImsProvisioningLoader.STATUS_PROVISIONED)
+                            ? PROVISIONING_VALUE_ENABLED : PROVISIONING_VALUE_DISABLED;
+                    setProvisioningValue(KEY_VOICE_OVER_WIFI_ENABLED_OVERRIDE, value);
+                }
+            }
+        }
+    }
+
+    private final class RcsFeatureListener implements FeatureConnector.Listener<RcsFeatureManager> {
+        private static final String LOG_PREFIX = "RcsFeatureListener";
+        private FeatureConnector<RcsFeatureManager> mConnector;
+        private RcsFeatureManager mRcsFeatureManager;
+        private boolean mReady = false;
+        // stores whether the initial provisioning key value should be notified to ImsService
+        private boolean mRequiredNotify = false;
+        private int mSubId;
+        private int mSlotId;
+
+        RcsFeatureListener(int slotId) {
+            log(LOG_PREFIX, slotId, "created");
+
+            mSlotId = slotId;
+            mSubId = getSubId(slotId);
+            mConnector = mRcsFeatureConnector.create(
+                    mApp, slotId, this, new HandlerExecutor(mHandler), TAG);
+            mConnector.connect();
+        }
+
+        public void setSubId(int subId) {
+            if (mRequiredNotify && mReady) {
+                mRequiredNotify = false;
+                setInitialProvisioningKeys(subId);
+            }
+            if (mSubId == subId) {
+                log(LOG_PREFIX, mSlotId, "subId is not changed");
+                return;
+            }
+
+            mSubId = subId;
+            mSlotId = getSlotId(subId);
+        }
+
+        public void destroy() {
+            log(LOG_PREFIX, mSlotId, "destroy");
+            mConnector.disconnect();
+            mConnector = null;
+            mReady = false;
+            mRcsFeatureManager = null;
+        }
+
+        @Override
+        public void connectionReady(RcsFeatureManager manager, int subId) {
+            log(LOG_PREFIX, mSlotId, "connection ready");
+            mReady = true;
+            mRcsFeatureManager = manager;
+
+            onRcsAvailable();
+        }
+
+        @Override
+        public void connectionUnavailable(int reason) {
+            log(LOG_PREFIX, mSlotId, "connection unavailable");
+            mReady = false;
+            mRcsFeatureManager = null;
+
+            // keep the callback for other reason
+            if (reason == FeatureConnector.UNAVAILABLE_REASON_IMS_UNSUPPORTED) {
+                onRcsUnavailable();
+            }
+        }
+
+        public int setProvisioningValue(int key, int value) {
+            int retVal = ImsConfigImplBase.CONFIG_RESULT_FAILED;
+
+            if (!mReady) {
+                loge(LOG_PREFIX, mSlotId, "service is Unavailable");
+                return retVal;
+            }
+
+            try {
+                // getConfigInterface() will return not null or throw the ImsException
+                // need not null checking
+                ImsConfig imsConfig = getImsConfig(mRcsFeatureManager.getConfig());
+                retVal = imsConfig.setConfig(key, value);
+                log(LOG_PREFIX, mSlotId, "setConfig called with key " + key + " value " + value);
+            } catch (ImsException e) {
+                logw(LOG_PREFIX, mSlotId,
+                        "setConfig operation failed for key =" + key
+                        + ", value =" + value + ". Exception:" + e.getMessage());
+            }
+            return retVal;
+        }
+
+        public int getProvisioningValue(int key) {
+            if (!mReady) {
+                loge(LOG_PREFIX, mSlotId, "service is Unavailable");
+                return INVALID_VALUE;
+            }
+
+            int retValue = INVALID_VALUE;
+            try {
+                // getConfigInterface() will return not null or throw the ImsException
+                // need not null checking
+                ImsConfig imsConfig = getImsConfig(mRcsFeatureManager.getConfig());
+                retValue = imsConfig.getConfigInt(key);
+            } catch (ImsException e) {
+                logw(LOG_PREFIX, mSlotId,
+                        "getConfig operation failed for key =" + key
+                        + ", value =" + retValue + ". Exception:" + e.getMessage());
+            }
+            return retValue;
+        }
+
+        public boolean isConnectionReady() {
+            return mReady;
+        }
+
+        public void onRcsAvailable() {
+            log(LOG_PREFIX, mSlotId, "onRcsAvailable");
+
+            if (isValidSubId(mSubId)) {
+                mRequiredNotify = false;
+
+                // notify provisioning key value to ImsService
+                setInitialProvisioningKeys(mSubId);
+            } else {
+                // wait until subId is valid
+                mRequiredNotify = true;
+            }
+        }
+
+        public void onRcsUnavailable() {
+            log(LOG_PREFIX, mSlotId, "onRcsUnavailable");
+
+            try {
+                // delete all callbacks reference from ProvisioningManager
+                mProvisioningCallbackManagersSlotMap.get(getSlotId(mSubId)).clear();
+            } catch (NullPointerException e) {
+                logw(LOG_PREFIX, getSlotId(mSubId), "can not find callback manager to clear");
+            }
+        }
+
+        private void setInitialProvisioningKeys(int subId) {
+            boolean required;
+            int value = ImsProvisioningLoader.STATUS_NOT_SET;
+
+            // KEY_EAB_PROVISIONING_STATUS
+            int capability = CAPABILITY_TYPE_PRESENCE_UCE;
+            // Assume that all radio techs have the same provisioning value
+            int tech = REGISTRATION_TECH_LTE;
+
+            try {
+                required = isRcsProvisioningRequiredForCapability(subId, capability, tech);
+            } catch (IllegalArgumentException e) {
+                logw("setInitialProvisioningKeys: KEY_EAB_PROVISIONING_STATUS failed for"
+                        + " subId=" + subId + ", exception: " + e.getMessage());
+                return;
+            }
+
+            if (required) {
+                value = mImsProvisioningLoader.getProvisioningStatus(subId, FEATURE_RCS,
+                        capability, tech);
+                if (value != ImsProvisioningLoader.STATUS_NOT_SET) {
+                    value = (value == ImsProvisioningLoader.STATUS_PROVISIONED)
+                            ? PROVISIONING_VALUE_ENABLED : PROVISIONING_VALUE_DISABLED;
+                    setProvisioningValue(KEY_EAB_PROVISIONING_STATUS, value);
+                }
+            }
+        }
+    }
+
+    /**
+     * Do NOT use this directly, instead use {@link #getInstance()}.
+     */
+    @VisibleForTesting
+    public ImsProvisioningController(PhoneGlobals app, int numSlot, Looper looper,
+            MmTelFeatureConnector mmTelFeatureConnector, RcsFeatureConnector rcsFeatureConnector,
+            ImsProvisioningLoader imsProvisioningLoader) {
+        log("ImsProvisioningController");
+        mApp = app;
+        mNumSlot = numSlot;
+        mHandler = new MessageHandler(looper);
+        mMmTelFeatureConnector = mmTelFeatureConnector;
+        mRcsFeatureConnector = rcsFeatureConnector;
+        mCarrierConfigManager = mApp.getSystemService(CarrierConfigManager.class);
+        mSubscriptionManager = mApp.getSystemService(SubscriptionManager.class);
+        mTelephonyRegistryManager = mApp.getSystemService(TelephonyRegistryManager.class);
+        mTelephonyRegistryManager.addOnSubscriptionsChangedListener(
+                mSubChangedListener, mSubChangedListener.getHandlerExecutor());
+        mImsProvisioningLoader = imsProvisioningLoader;
+
+        PhoneConfigurationManager.registerForMultiSimConfigChange(mHandler,
+                EVENT_MULTI_SIM_CONFIGURATION_CHANGE, null);
+
+        initialize(numSlot);
+    }
+
+    private void initialize(int numSlot) {
+        for (int i = 0; i < numSlot; i++) {
+            MmTelFeatureListener m = new MmTelFeatureListener(i);
+            mMmTelFeatureListenersSlotMap.put(i, m);
+
+            RcsFeatureListener r = new RcsFeatureListener(i);
+            mRcsFeatureListenersSlotMap.put(i, r);
+
+            ProvisioningCallbackManager p = new ProvisioningCallbackManager(i);
+            mProvisioningCallbackManagersSlotMap.put(i, p);
+        }
+    }
+
+    private void onMultiSimConfigChanged(int newNumSlot) {
+        log("onMultiSimConfigChanged: NumSlot " + mNumSlot + " newNumSlot " + newNumSlot);
+
+        if (mNumSlot < newNumSlot) {
+            for (int i = mNumSlot; i < newNumSlot; i++) {
+                MmTelFeatureListener m = new MmTelFeatureListener(i);
+                mMmTelFeatureListenersSlotMap.put(i, m);
+
+                RcsFeatureListener r = new RcsFeatureListener(i);
+                mRcsFeatureListenersSlotMap.put(i, r);
+
+                ProvisioningCallbackManager p = new ProvisioningCallbackManager(i);
+                mProvisioningCallbackManagersSlotMap.put(i, p);
+            }
+        } else if (mNumSlot > newNumSlot) {
+            for (int i = (mNumSlot - 1); i > (newNumSlot - 1); i--) {
+                MmTelFeatureListener m = mMmTelFeatureListenersSlotMap.get(i);
+                mMmTelFeatureListenersSlotMap.remove(i);
+                m.destroy();
+
+                RcsFeatureListener r = mRcsFeatureListenersSlotMap.get(i);
+                mRcsFeatureListenersSlotMap.remove(i);
+                r.destroy();
+
+                ProvisioningCallbackManager p = mProvisioningCallbackManagersSlotMap.get(i);
+                mProvisioningCallbackManagersSlotMap.remove(i);
+                p.clear();
+            }
+        }
+
+        mNumSlot = newNumSlot;
+    }
+
+    /**
+     * destroy the instance
+     */
+    @VisibleForTesting
+    public void destroy() {
+        log("destroy");
+
+        mHandler.getLooper().quit();
+
+        mTelephonyRegistryManager.removeOnSubscriptionsChangedListener(mSubChangedListener);
+
+        for (int i = 0; i < mMmTelFeatureListenersSlotMap.size(); i++) {
+            mMmTelFeatureListenersSlotMap.get(i).destroy();
+        }
+        mMmTelFeatureListenersSlotMap.clear();
+
+        for (int i = 0; i < mRcsFeatureListenersSlotMap.size(); i++) {
+            mRcsFeatureListenersSlotMap.get(i).destroy();
+        }
+        mRcsFeatureListenersSlotMap.clear();
+
+        for (int i = 0; i < mProvisioningCallbackManagersSlotMap.size(); i++) {
+            mProvisioningCallbackManagersSlotMap.get(i).clear();
+        }
+    }
+
+    /**
+     * create an instance
+     */
+    @VisibleForTesting
+    public static ImsProvisioningController make(PhoneGlobals app, int numSlot) {
+        synchronized (ImsProvisioningController.class) {
+            if (sInstance == null) {
+                Rlog.i(TAG, "ImsProvisioningController created");
+                HandlerThread handlerThread = new HandlerThread(TAG);
+                handlerThread.start();
+                sInstance = new ImsProvisioningController(app, numSlot, handlerThread.getLooper(),
+                        ImsManager::getConnector, RcsFeatureManager::getConnector,
+                        new ImsProvisioningLoader(app));
+            }
+        }
+        return sInstance;
+    }
+
+    /**
+     * Gets a ImsProvisioningController instance
+     */
+    @VisibleForTesting
+    public static ImsProvisioningController getInstance() {
+        synchronized (ImsProvisioningController.class) {
+            return sInstance;
+        }
+    }
+
+    /**
+     * Register IFeatureProvisioningCallback from ProvisioningManager
+     */
+
+    @VisibleForTesting
+    public void addFeatureProvisioningChangedCallback(int subId,
+            IFeatureProvisioningCallback callback) {
+        if (callback == null) {
+            throw new IllegalArgumentException("provisioning callback can't be null");
+        }
+        int slotId = getSlotId(subId);
+        if (slotId < 0 || slotId >= mNumSlot) {
+            throw new IllegalArgumentException("subscription id is not available");
+        }
+
+        try {
+            mProvisioningCallbackManagersSlotMap.get(slotId).registerCallback(callback);
+            log("Feature Provisioning Callback registered.");
+        } catch (NullPointerException e) {
+            logw("can not access callback manager to add callback");
+        }
+    }
+
+    /**
+     * Remove IFeatureProvisioningCallback
+     */
+    @VisibleForTesting
+    public void removeFeatureProvisioningChangedCallback(int subId,
+            IFeatureProvisioningCallback callback) {
+        if (callback == null) {
+            throw new IllegalArgumentException("provisioning callback can't be null");
+        }
+
+        int slotId = getSlotId(subId);
+        if (slotId < 0 || slotId >= mNumSlot) {
+            throw new IllegalArgumentException("subscription id is not available");
+        }
+
+        try {
+            mProvisioningCallbackManagersSlotMap.get(slotId).unregisterCallback(callback);
+            log("Feature Provisioning Callback removed.");
+        } catch (NullPointerException e) {
+            logw("can not access callback manager to remove callback");
+        }
+    }
+
+    /**
+     * return the boolean whether MmTel capability is required provisioning or not
+     */
+    @VisibleForTesting
+    public boolean isImsProvisioningRequiredForCapability(int subId, int capability, int tech) {
+        // check subId
+        int slotId = getSlotId(subId);
+        if (slotId <= SubscriptionManager.INVALID_SIM_SLOT_INDEX || slotId >= mNumSlot) {
+            loge("Fail to retrieve slotId from subId");
+            throw new IllegalArgumentException("subscribe id is invalid");
+        }
+
+        // check valid capability
+        if (!(MMTEL_CAPABILITY_MIN < capability && capability < MMTEL_CAPABILITY_MAX)) {
+            throw new IllegalArgumentException("MmTel capability '" + capability + "' is invalid");
+        }
+
+        // check valid radio tech
+        if (!(REGISTRATION_TECH_NONE < tech && tech < REGISTRATION_TECH_MAX)) {
+            log("Ims not matched radio tech " + tech);
+            throw new IllegalArgumentException("Registration technology '" + tech + "' is invalid");
+        }
+
+        // check new carrier config first KEY_MMTEL_REQUIRES_PROVISIONING_BUNDLE
+        boolean retVal = isProvisioningRequired(subId, capability, tech, /*isMmTel*/true);
+
+        // if that returns false, check deprecated carrier config
+        // KEY_CARRIER_VOLTE_PROVISIONING_REQUIRED_BOOL, KEY_CARRIER_UT_PROVISIONING_REQUIRED_BOOL
+        if (!retVal && (capability == CAPABILITY_TYPE_VOICE
+                || capability == CAPABILITY_TYPE_VIDEO
+                || capability == CAPABILITY_TYPE_UT)) {
+            String key = CarrierConfigManager.KEY_CARRIER_VOLTE_PROVISIONING_REQUIRED_BOOL;
+            if (capability == CAPABILITY_TYPE_UT) {
+                key = CarrierConfigManager.KEY_CARRIER_UT_PROVISIONING_REQUIRED_BOOL;
+            }
+
+            PersistableBundle imsCarrierConfigs = mCarrierConfigManager.getConfigForSubId(subId);
+            if (imsCarrierConfigs != null) {
+                retVal = imsCarrierConfigs.getBoolean(key);
+            } else {
+                retVal = CarrierConfigManager.getDefaultConfig().getBoolean(key);
+            }
+        }
+
+        log("isImsProvisioningRequiredForCapability capability " + capability
+                + " tech " + tech + " return value " + retVal);
+
+        return retVal;
+    }
+
+    /**
+     * return the boolean whether RCS capability is required provisioning or not
+     */
+    @VisibleForTesting
+    public boolean isRcsProvisioningRequiredForCapability(int subId, int capability, int tech) {
+        // check slotId and Phone object
+        int slotId = getSlotId(subId);
+        if (slotId <= SubscriptionManager.INVALID_SIM_SLOT_INDEX || slotId >= mNumSlot) {
+            loge("Fail to retrieve slotId from subId");
+            throw new IllegalArgumentException("subscribe id is invalid");
+        }
+
+        // check valid capability
+        if (!(RCS_CAPABILITY_MIN < capability && capability < RCS_CAPABILITY_MAX)) {
+            throw new IllegalArgumentException("Rcs capability '" + capability + "' is invalid");
+        }
+
+        // check valid radio tech
+        if (!(REGISTRATION_TECH_NONE < tech && tech < REGISTRATION_TECH_MAX)) {
+            log("Rcs not matched radio tech " + tech);
+            throw new IllegalArgumentException("Registration technology '" + tech + "' is invalid");
+        }
+
+        // check new carrier config first KEY_RCS_REQUIRES_PROVISIONING_BUNDLE
+        boolean retVal = isProvisioningRequired(subId, capability, tech, /*isMmTel*/false);
+
+        // if that returns false, check deprecated carrier config
+        // KEY_CARRIER_RCS_PROVISIONING_REQUIRED_BOOL
+        if (!retVal) {
+            PersistableBundle imsCarrierConfigs = mCarrierConfigManager.getConfigForSubId(subId);
+            if (imsCarrierConfigs != null) {
+                retVal = imsCarrierConfigs.getBoolean(
+                        CarrierConfigManager.KEY_CARRIER_RCS_PROVISIONING_REQUIRED_BOOL);
+            } else {
+                retVal = CarrierConfigManager.getDefaultConfig().getBoolean(
+                        CarrierConfigManager.KEY_CARRIER_RCS_PROVISIONING_REQUIRED_BOOL);
+            }
+        }
+
+        log("isRcsProvisioningRequiredForCapability capability " + capability
+                + " tech " + tech + " return value " + retVal);
+
+        return retVal;
+    }
+
+    /**
+     * return the provisioning status for MmTel capability in specific radio tech
+     */
+    @VisibleForTesting
+    public boolean getImsProvisioningStatusForCapability(int subId, int capability, int tech) {
+        boolean mmTelProvisioned = isImsProvisioningRequiredForCapability(subId, capability, tech);
+        if (!mmTelProvisioned) { // provisioning not required
+            log("getImsProvisioningStatusForCapability : not required "
+                    + " capability " + capability + " tech " + tech);
+            return true;
+        }
+
+        // read value from ImsProvisioningLoader
+        int result = mImsProvisioningLoader.getProvisioningStatus(subId, FEATURE_MMTEL,
+                capability, tech);
+        if (result == ImsProvisioningLoader.STATUS_NOT_SET) {
+            // not set means initial value
+            // read data from vendor ImsService and store that in ImsProvisioningLoader
+            result = getValueFromImsService(subId, capability, tech);
+            mmTelProvisioned = getBoolValue(result);
+            if (result != ProvisioningManager.PROVISIONING_RESULT_UNKNOWN) {
+                setAndNotifyMmTelProvisioningValue(subId, capability, tech, mmTelProvisioned);
+            }
+        } else {
+            mmTelProvisioned = getBoolValue(result);
+        }
+
+        log("getImsProvisioningStatusForCapability : "
+                + " capability " + capability
+                + " tech " + tech
+                + " result " + mmTelProvisioned);
+        return mmTelProvisioned;
+    }
+
+    /**
+     * set MmTel provisioning status in specific tech
+     */
+    @VisibleForTesting
+    public void setImsProvisioningStatusForCapability(int subId, int capability, int tech,
+            boolean isProvisioned) {
+        boolean mmTelProvisioned = isImsProvisioningRequiredForCapability(subId, capability, tech);
+        if (!mmTelProvisioned) { // provisioning not required
+            log("setImsProvisioningStatusForCapability : not required "
+                    + " capability " + capability + " tech " + tech);
+            return;
+        }
+
+        // write value to ImsProvisioningLoader
+        boolean isChanged = setAndNotifyMmTelProvisioningValue(subId, capability, tech,
+                isProvisioned);
+        if (!isChanged) {
+            log("status not changed mmtel capability " + capability + " tech " + tech);
+            return;
+        }
+
+        int slotId = getSlotId(subId);
+        // find matched key from capability and tech
+        int value = getIntValue(isProvisioned);
+        int key = getKeyFromCapability(capability, tech);
+        if (key != INVALID_VALUE) {
+            log("setImsProvisioningStatusForCapability : matched key " + key);
+            try {
+                // set key and value to vendor ImsService for MmTel
+                mMmTelFeatureListenersSlotMap.get(slotId).setProvisioningValue(key, value);
+            } catch (NullPointerException e) {
+                loge("can not access MmTelFeatureListener with capability " + capability);
+            }
+        }
+    }
+
+    /**
+     * return the provisioning status for RCS capability in specific radio tech
+     */
+    @VisibleForTesting
+    public boolean getRcsProvisioningStatusForCapability(int subId, int capability, int tech) {
+        boolean rcsProvisioned = isRcsProvisioningRequiredForCapability(subId, capability, tech);
+        if (!rcsProvisioned) { // provisioning not required
+            log("getRcsProvisioningStatusForCapability : not required"
+                    + " capability " + capability + " tech " + tech);
+            return true;
+        }
+
+        // read data from ImsProvisioningLoader
+        int result = mImsProvisioningLoader.getProvisioningStatus(subId, FEATURE_RCS,
+                capability, tech);
+        if (result == ImsProvisioningLoader.STATUS_NOT_SET) {
+            // not set means initial value
+            // read data from vendor ImsService and store that in ImsProvisioningLoader
+            result = getRcsValueFromImsService(subId, capability);
+            rcsProvisioned = getBoolValue(result);
+            if (result != ProvisioningManager.PROVISIONING_RESULT_UNKNOWN) {
+                setAndNotifyRcsProvisioningValueForAllTech(subId, capability, rcsProvisioned);
+            }
+        } else {
+            rcsProvisioned = getBoolValue(result);
+        }
+
+        log("getRcsProvisioningStatusForCapability : "
+                + " capability " + capability
+                + " tech " + tech
+                + " result " + rcsProvisioned);
+        return rcsProvisioned;
+    }
+
+    /**
+     * set RCS provisioning status in specific tech
+     */
+    @VisibleForTesting
+    public void setRcsProvisioningStatusForCapability(int subId, int capability, int tech,
+            boolean isProvisioned) {
+        boolean rcsProvisioned = isRcsProvisioningRequiredForCapability(subId, capability, tech);
+        if (!rcsProvisioned) { // provisioning not required
+            log("set rcs provisioning status but not required");
+            return;
+        }
+
+        // write status using ImsProvisioningLoader
+        boolean isChanged = setAndNotifyRcsProvisioningValue(subId, capability, tech,
+                isProvisioned);
+        if (!isChanged) {
+            log("status not changed rcs capability " + capability + " tech " + tech);
+            return;
+        }
+
+        int slotId = getSlotId(subId);
+        int key =  ProvisioningManager.KEY_EAB_PROVISIONING_STATUS;
+        int value = getIntValue(isProvisioned);
+        try {
+            // On some older devices, EAB is managed on the MmTel ImsService when the RCS
+            // ImsService is not configured. If there is no RCS ImsService defined, fallback to
+            // MmTel. In the rare case that we hit a race condition where the RCS ImsService has
+            // crashed or has not come up yet, the value will be synchronized via
+            // setInitialProvisioningKeys().
+            if (mRcsFeatureListenersSlotMap.get(slotId).isConnectionReady()) {
+                mRcsFeatureListenersSlotMap.get(slotId).setProvisioningValue(key, value);
+            }
+
+            // EAB provisioning status should be updated to both the Rcs and MmTel ImsService,
+            // because the provisioning callback is listening to only MmTel provisioning key
+            // changes.
+            mMmTelFeatureListenersSlotMap.get(slotId).setProvisioningValue(key, value);
+        } catch (NullPointerException e) {
+            loge("can not access RcsFeatureListener with capability " + capability);
+        }
+    }
+
+    /**
+     * set RCS provisioning status in specific key and value
+     * @param key integer key, defined as one of
+     * {@link ProvisioningManager#KEY_VOLTE_PROVISIONING_STATUS}
+     * {@link ProvisioningManager#KEY_VT_PROVISIONING_STATUS}
+     * {@link ProvisioningManager#KEY_VOICE_OVER_WIFI_ENABLED_OVERRIDE}
+     * {@link ProvisioningManager#KEY_EAB_PROVISIONING_STATUS}
+     * @param value in Integer format.
+     * @return the result of setting the configuration value, defined as one of
+     * {@link ImsConfigImplBase#CONFIG_RESULT_FAILED} or
+     * {@link ImsConfigImplBase#CONFIG_RESULT_SUCCESS} or
+     */
+    @VisibleForTesting
+    public int setProvisioningValue(int subId, int key, int value) {
+        log("setProvisioningValue");
+
+        int retVal = ImsConfigImplBase.CONFIG_RESULT_FAILED;
+        // check key value
+        if (!Arrays.stream(LOCAL_IMS_CONFIG_KEYS).anyMatch(keyValue -> keyValue == key)) {
+            log("not matched key " + key);
+            return ImsConfigImplBase.CONFIG_RESULT_UNKNOWN;
+        }
+
+        // check subId
+        int slotId = getSlotId(subId);
+        if (slotId <= SubscriptionManager.INVALID_SIM_SLOT_INDEX || slotId >= mNumSlot) {
+            loge("Fail to retrieve slotId from subId");
+            return ImsConfigImplBase.CONFIG_RESULT_FAILED;
+        }
+
+        try {
+            // set key and value to vendor ImsService for MmTel
+            // EAB provisioning status should be updated to both the Rcs and MmTel ImsService,
+            // because the provisioning callback is listening to only MmTel provisioning key
+            // changes.
+            retVal = mMmTelFeatureListenersSlotMap.get(slotId).setProvisioningValue(key, value);
+
+            // If the  Rcs ImsService is not available, the EAB provisioning status will be written
+            // to the MmTel ImsService for backwards compatibility. In the rare case that this is
+            // hit due to RCS ImsService temporarily unavailable, the value will be synchronized
+            // via setInitialProvisioningKeys() when the RCS ImsService comes back up.
+            if (key == KEY_EAB_PROVISIONING_STATUS
+                    && mRcsFeatureListenersSlotMap.get(slotId).isConnectionReady()) {
+                // set key and value to vendor ImsService for RCS and use retVal from RCS if
+                // related to EAB when possible.
+                retVal = mRcsFeatureListenersSlotMap.get(slotId).setProvisioningValue(key, value);
+            }
+        } catch (NullPointerException e) {
+            loge("can not access FeatureListener to set provisioning value");
+            return ImsConfigImplBase.CONFIG_RESULT_FAILED;
+        }
+
+        // update and notify provisioning status changed capability and tech from key
+        updateCapabilityTechFromKey(subId, key, value);
+
+        return retVal;
+    }
+
+    /**
+     * get RCS provisioning status in specific key and value
+     * @param key integer key, defined as one of
+     * {@link ProvisioningManager#KEY_VOLTE_PROVISIONING_STATUS}
+     * {@link ProvisioningManager#KEY_VT_PROVISIONING_STATUS}
+     * {@link ProvisioningManager#KEY_VOICE_OVER_WIFI_ENABLED_OVERRIDE}
+     * {@link ProvisioningManager#KEY_EAB_PROVISIONING_STATUS}
+     * @return the result of setting the configuration value, defined as one of
+     * {@link ImsConfigImplBase#CONFIG_RESULT_FAILED} or
+     * {@link ImsConfigImplBase#CONFIG_RESULT_SUCCESS} or
+     * {@link ImsConfigImplBase#CONFIG_RESULT_UNKNOWN}
+     */
+    @VisibleForTesting
+    public int getProvisioningValue(int subId, int key) {
+        // check key value
+        if (!Arrays.stream(LOCAL_IMS_CONFIG_KEYS).anyMatch(keyValue -> keyValue == key)) {
+            log("not matched key " + key);
+            return ImsConfigImplBase.CONFIG_RESULT_UNKNOWN;
+        }
+
+        // check subId
+        int slotId = getSlotId(subId);
+        if (slotId <= SubscriptionManager.INVALID_SIM_SLOT_INDEX || slotId >= mNumSlot) {
+            loge("Fail to retrieve slotId from subId");
+            return ImsConfigImplBase.CONFIG_RESULT_UNKNOWN;
+        }
+
+        // check data from ImsProvisioningLoader
+        int capability = getCapabilityFromKey(key);
+        int tech = getTechFromKey(key);
+        int result;
+        if (capability != INVALID_VALUE && tech != INVALID_VALUE) {
+            if (key == KEY_EAB_PROVISIONING_STATUS) {
+                result = mImsProvisioningLoader.getProvisioningStatus(subId, FEATURE_RCS,
+                        capability, tech);
+            } else {
+                result = mImsProvisioningLoader.getProvisioningStatus(subId, FEATURE_MMTEL,
+                        capability, tech);
+            }
+            if (result != ImsProvisioningLoader.STATUS_NOT_SET) {
+                log("getProvisioningValue from loader : key " + key + " result " + result);
+                return result;
+            }
+        }
+
+        // get data from ImsService, update it in ImsProvisioningLoader
+        if (key == KEY_EAB_PROVISIONING_STATUS) {
+            result = getRcsValueFromImsService(subId, capability);
+            if (result == ImsConfigImplBase.CONFIG_RESULT_UNKNOWN) {
+                logw("getProvisioningValue : fail to get data from ImsService capability"
+                        + capability);
+                return result;
+            }
+            log("getProvisioningValue from vendor : key " + key + " result " + result);
+
+            setAndNotifyRcsProvisioningValueForAllTech(subId, capability, getBoolValue(result));
+            return result;
+        } else {
+            result = getValueFromImsService(subId, capability, tech);
+            if (result == ImsConfigImplBase.CONFIG_RESULT_UNKNOWN) {
+                logw("getProvisioningValue : fail to get data from ImsService capability"
+                        + capability);
+                return result;
+            }
+            log("getProvisioningValue from vendor : key " + key + " result " + result);
+
+            setAndNotifyMmTelProvisioningValue(subId, capability, tech, getBoolValue(result));
+            return result;
+        }
+    }
+
+    /**
+     * get the handler
+     */
+    @VisibleForTesting
+    public Handler getHandler() {
+        return mHandler;
+    }
+
+    private boolean isProvisioningRequired(int subId, int capability, int tech, boolean isMmTel) {
+        int[] techArray;
+        techArray = getTechsFromCarrierConfig(subId, capability, isMmTel);
+        if (techArray == null) {
+            logw("isProvisioningRequired : getTechsFromCarrierConfig failed");
+            // not exist in CarrierConfig that means provisioning is not required
+            return false;
+        }
+
+        // compare with carrier config
+        if (Arrays.stream(techArray).anyMatch(keyValue -> keyValue == tech)) {
+            // existing same tech means provisioning required
+            return true;
+        }
+
+        log("isProvisioningRequired : not matched capability " + capability + " tech " + tech);
+        return false;
+    }
+
+    private int[] getTechsFromCarrierConfig(int subId, int capability, boolean isMmTel) {
+        String featureKey;
+        String capabilityKey;
+        if (isMmTel) {
+            featureKey = CarrierConfigManager.Ims.KEY_MMTEL_REQUIRES_PROVISIONING_BUNDLE;
+            capabilityKey = KEYS_MMTEL_CAPABILITY.get(capability);
+        } else {
+            featureKey = CarrierConfigManager.Ims.KEY_RCS_REQUIRES_PROVISIONING_BUNDLE;
+            capabilityKey = KEYS_RCS_CAPABILITY.get(capability);
+        }
+
+        if (capabilityKey != null) {
+            PersistableBundle imsCarrierConfigs = mCarrierConfigManager.getConfigForSubId(subId);
+            if (imsCarrierConfigs == null) {
+                log("getTechsFromCarrierConfig : imsCarrierConfigs null");
+                return null;
+            }
+
+            PersistableBundle provisioningBundle =
+                    imsCarrierConfigs.getPersistableBundle(featureKey);
+            if (provisioningBundle == null) {
+                log("getTechsFromCarrierConfig : provisioningBundle null");
+                return null;
+            }
+
+            return provisioningBundle.getIntArray(capabilityKey);
+        }
+
+        return null;
+    }
+
+    private int getValueFromImsService(int subId, int capability, int tech) {
+        int config = ImsConfigImplBase.CONFIG_RESULT_UNKNOWN;
+
+        // operation is based on capability
+        switch (capability) {
+            case CAPABILITY_TYPE_VOICE:
+                int item = (tech == ImsRegistrationImplBase.REGISTRATION_TECH_IWLAN)
+                        ? ProvisioningManager.KEY_VOICE_OVER_WIFI_ENABLED_OVERRIDE
+                        : ProvisioningManager.KEY_VOLTE_PROVISIONING_STATUS;
+                // read data from vendor ImsService
+                config = mMmTelFeatureListenersSlotMap.get(getSlotId(subId))
+                        .getProvisioningValue(item);
+                break;
+            case CAPABILITY_TYPE_VIDEO:
+                // read data from vendor ImsService
+                config = mMmTelFeatureListenersSlotMap.get(getSlotId(subId))
+                        .getProvisioningValue(ProvisioningManager.KEY_VT_PROVISIONING_STATUS);
+                break;
+            default:
+                log("Capability " + capability + " has been provisioning");
+                break;
+        }
+
+        return config;
+    }
+
+    private int getRcsValueFromImsService(int subId, int capability) {
+        int config = ImsConfigImplBase.CONFIG_RESULT_UNKNOWN;
+        int slotId = getSlotId(subId);
+
+        if (capability != CAPABILITY_TYPE_PRESENCE_UCE) {
+            log("Capability " + capability + " has been provisioning");
+            return config;
+        }
+        try {
+            if (mRcsFeatureListenersSlotMap.get(slotId).isConnectionReady()) {
+                config = mRcsFeatureListenersSlotMap.get(slotId)
+                        .getProvisioningValue(ProvisioningManager.KEY_EAB_PROVISIONING_STATUS);
+            } else {
+                log("Rcs ImsService is not available, "
+                        + "EAB provisioning status should be read from MmTel ImsService");
+                config = mMmTelFeatureListenersSlotMap.get(slotId)
+                        .getProvisioningValue(ProvisioningManager.KEY_EAB_PROVISIONING_STATUS);
+            }
+        } catch (NullPointerException e) {
+            logw("can not access FeatureListener : " + e.getMessage());
+        }
+
+        return config;
+    }
+
+    private void onSubscriptionsChanged() {
+        for (int index = 0; index < mMmTelFeatureListenersSlotMap.size(); index++) {
+            MmTelFeatureListener m = mMmTelFeatureListenersSlotMap.get(index);
+            m.setSubId(getSubId(index));
+        }
+        for (int index = 0; index < mRcsFeatureListenersSlotMap.size(); index++) {
+            RcsFeatureListener r = mRcsFeatureListenersSlotMap.get(index);
+            r.setSubId(getSubId(index));
+        }
+        for (int index = 0; index < mProvisioningCallbackManagersSlotMap.size(); index++) {
+            ProvisioningCallbackManager m = mProvisioningCallbackManagersSlotMap.get(index);
+            m.setSubId(getSubId(index));
+        }
+    }
+
+    private void  updateCapabilityTechFromKey(int subId, int key, int value) {
+        boolean isProvisioned = getBoolValue(value);
+        int capability = getCapabilityFromKey(key);
+        int tech = getTechFromKey(key);
+
+        if (capability == INVALID_VALUE || tech == INVALID_VALUE) {
+            logw("updateCapabilityTechFromKey : unknown key " + key);
+            return;
+        }
+
+        if (key == KEY_VOLTE_PROVISIONING_STATUS
+                || key == KEY_VT_PROVISIONING_STATUS
+                || key == KEY_VOICE_OVER_WIFI_ENABLED_OVERRIDE) {
+            setAndNotifyMmTelProvisioningValue(subId, capability, tech, isProvisioned);
+        }
+        if (key == KEY_EAB_PROVISIONING_STATUS) {
+            setAndNotifyRcsProvisioningValueForAllTech(subId, capability, isProvisioned);
+        }
+    }
+
+    private int getCapabilityFromKey(int key) {
+        int capability;
+        switch (key) {
+            case ProvisioningManager.KEY_VOLTE_PROVISIONING_STATUS:
+                // intentional fallthrough
+            case ProvisioningManager.KEY_VOICE_OVER_WIFI_ENABLED_OVERRIDE:
+                capability = CAPABILITY_TYPE_VOICE;
+                break;
+            case ProvisioningManager.KEY_VT_PROVISIONING_STATUS:
+                capability = CAPABILITY_TYPE_VIDEO;
+                break;
+            case ProvisioningManager.KEY_EAB_PROVISIONING_STATUS:
+                // default CAPABILITY_TYPE_PRESENCE_UCE used for KEY_EAB_PROVISIONING_STATUS
+                capability = CAPABILITY_TYPE_PRESENCE_UCE;
+                break;
+            default:
+                capability = INVALID_VALUE;
+                break;
+        }
+        return capability;
+    }
+
+    private int getTechFromKey(int key) {
+        int tech;
+        switch (key) {
+            case ProvisioningManager.KEY_VOICE_OVER_WIFI_ENABLED_OVERRIDE:
+                tech = ImsRegistrationImplBase.REGISTRATION_TECH_IWLAN;
+                break;
+            case ProvisioningManager.KEY_VOLTE_PROVISIONING_STATUS:
+                // intentional fallthrough
+            case ProvisioningManager.KEY_VT_PROVISIONING_STATUS:
+                // intentional fallthrough
+            case ProvisioningManager.KEY_EAB_PROVISIONING_STATUS:
+                tech = ImsRegistrationImplBase.REGISTRATION_TECH_LTE;
+                break;
+            default:
+                tech = INVALID_VALUE;
+                break;
+        }
+        return tech;
+    }
+
+    private int getKeyFromCapability(int capability, int tech) {
+        int key = INVALID_VALUE;
+        if (capability == CAPABILITY_TYPE_VOICE && tech == REGISTRATION_TECH_IWLAN) {
+            key = ProvisioningManager.KEY_VOICE_OVER_WIFI_ENABLED_OVERRIDE;
+        } else if (capability == CAPABILITY_TYPE_VOICE && tech == REGISTRATION_TECH_LTE) {
+            key = ProvisioningManager.KEY_VOLTE_PROVISIONING_STATUS;
+        } else if (capability == CAPABILITY_TYPE_VIDEO && tech == REGISTRATION_TECH_LTE) {
+            key = ProvisioningManager.KEY_VT_PROVISIONING_STATUS;
+        }
+
+        return key;
+    }
+
+    protected int getSubId(int slotId) {
+        final int[] subIds = mSubscriptionManager.getSubscriptionIds(slotId);
+        int subId = SubscriptionManager.INVALID_SUBSCRIPTION_ID;
+        if (subIds != null && subIds.length >= 1) {
+            subId = subIds[0];
+        }
+
+        return subId;
+    }
+
+    protected int getSlotId(int subId) {
+        return mSubscriptionManager.getPhoneId(subId);
+    }
+
+    protected ImsConfig getImsConfig(ImsManager imsManager) throws ImsException {
+        return imsManager.getConfigInterface();
+    }
+
+    protected ImsConfig getImsConfig(IImsConfig iImsConfig) {
+        return new ImsConfig(iImsConfig);
+    }
+
+    private int getIntValue(boolean isProvisioned) {
+        return isProvisioned ? ProvisioningManager.PROVISIONING_VALUE_ENABLED
+                : ProvisioningManager.PROVISIONING_VALUE_DISABLED;
+    }
+
+    private boolean getBoolValue(int value) {
+        return value == ProvisioningManager.PROVISIONING_VALUE_ENABLED ? true : false;
+    }
+
+    private boolean setAndNotifyMmTelProvisioningValue(int subId, int capability, int tech,
+            boolean isProvisioned) {
+        boolean changed = mImsProvisioningLoader.setProvisioningStatus(subId, FEATURE_MMTEL,
+                capability, tech, isProvisioned);
+        // notify MmTel capability changed
+        if (changed) {
+            mHandler.sendMessage(mHandler.obtainMessage(EVENT_PROVISIONING_CAPABILITY_CHANGED,
+                    getSlotId(subId), 0, (Object) new FeatureProvisioningData(
+                            capability, tech, isProvisioned, /*isMmTel*/true)));
+        }
+
+        return changed;
+    }
+
+    private boolean setAndNotifyRcsProvisioningValue(int subId, int capability, int tech,
+            boolean isProvisioned) {
+        boolean isChanged = mImsProvisioningLoader.setProvisioningStatus(subId, FEATURE_RCS,
+                capability, tech, isProvisioned);
+
+        if (isChanged) {
+            int slotId = getSlotId(subId);
+
+            // notify RCS capability changed
+            mHandler.sendMessage(mHandler.obtainMessage(EVENT_PROVISIONING_CAPABILITY_CHANGED,
+                    slotId, 0, (Object) new FeatureProvisioningData(
+                            capability, tech, isProvisioned, /*isMmtel*/false)));
+        }
+
+        return isChanged;
+    }
+
+    private boolean setAndNotifyRcsProvisioningValueForAllTech(int subId, int capability,
+            boolean isProvisioned) {
+        boolean isChanged = false;
+
+        for (int tech : LOCAL_RADIO_TECHS) {
+            isChanged |= setAndNotifyRcsProvisioningValue(subId, capability, tech, isProvisioned);
+        }
+
+        return isChanged;
+    }
+
+    protected boolean isValidSubId(int subId) {
+        int slotId = getSlotId(subId);
+        if (slotId <= SubscriptionManager.INVALID_SIM_SLOT_INDEX || slotId >= mNumSlot) {
+            return false;
+        }
+
+        return true;
+    }
+
+    private void log(String s) {
+        Rlog.d(TAG, s);
+    }
+
+    private void log(String prefix, int slotId, String s) {
+        Rlog.d(TAG, prefix + "[" + slotId + "] " + s);
+    }
+
+    private void logi(String prefix, int slotId, String s) {
+        Rlog.i(TAG, prefix + "[" + slotId + "] " + s);
+    }
+
+    private void logw(String s) {
+        Rlog.w(TAG, s);
+    }
+
+    private void logw(String prefix, int slotId, String s) {
+        Rlog.w(TAG, prefix + "[" + slotId + "] " + s);
+    }
+
+    private void loge(String s) {
+        Rlog.e(TAG, s);
+    }
+
+    private void loge(String prefix, int slotId, String s) {
+        Rlog.e(TAG, prefix + "[" + slotId + "] " + s);
+    }
+}
diff --git a/src/com/android/phone/ImsProvisioningLoader.java b/src/com/android/phone/ImsProvisioningLoader.java
new file mode 100644
index 0000000..1238b9a
--- /dev/null
+++ b/src/com/android/phone/ImsProvisioningLoader.java
@@ -0,0 +1,311 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.phone;
+
+import android.content.Context;
+import android.content.SharedPreferences;
+import android.os.PersistableBundle;
+import android.preference.PreferenceManager;
+import android.telephony.ims.ProvisioningManager;
+import android.telephony.ims.feature.ImsFeature;
+import android.telephony.ims.feature.MmTelFeature;
+import android.telephony.ims.stub.ImsRegistrationImplBase;
+import android.util.Log;
+import android.util.SparseArray;
+
+import com.android.internal.annotations.VisibleForTesting;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.IOException;
+
+/**
+ * Provides a function to set/get Ims feature provisioning status in storage.
+ */
+public class ImsProvisioningLoader {
+    private static final String LOG_TAG = ImsProvisioningLoader.class.getSimpleName();
+
+    public static final int STATUS_NOT_SET = -1;
+    public static final int STATUS_NOT_PROVISIONED =
+            ProvisioningManager.PROVISIONING_VALUE_DISABLED;
+    public static final int STATUS_PROVISIONED =
+            ProvisioningManager.PROVISIONING_VALUE_ENABLED;
+
+    public static final int IMS_FEATURE_MMTEL = ImsFeature.FEATURE_MMTEL;
+    public static final int IMS_FEATURE_RCS = ImsFeature.FEATURE_RCS;
+
+    private static final String PROVISIONING_FILE_NAME_PREF = "imsprovisioningstatus_";
+    private static final String PREF_PROVISION_IMS_MMTEL_PREFIX = "provision_ims_mmtel_";
+
+    private Context mContext;
+    private SharedPreferences mTelephonySharedPreferences;
+    // key : sub Id, value : read from sub Id's xml and it's in-memory cache
+    private SparseArray<PersistableBundle> mSubIdBundleArray = new SparseArray<>();
+    private final Object mLock = new Object();
+
+    public ImsProvisioningLoader(Context context) {
+        mContext = context;
+        mTelephonySharedPreferences =
+                PreferenceManager.getDefaultSharedPreferences(context);
+    }
+
+    /**
+     * Get Ims feature provisioned status in storage
+     */
+    public int getProvisioningStatus(int subId, @ImsFeature.FeatureType int imsFeature,
+            int capability, @ImsRegistrationImplBase.ImsRegistrationTech int tech) {
+        initCache(subId);
+        return getImsProvisioningStatus(subId, imsFeature, tech,
+                capability);
+    }
+
+    /**
+     * Set Ims feature provisioned status in storage
+     */
+    public boolean setProvisioningStatus(int subId, @ImsFeature.FeatureType int imsFeature,
+            int capability, @ImsRegistrationImplBase.ImsRegistrationTech int tech,
+            boolean isProvisioned) {
+        initCache(subId);
+        return setImsFeatureProvisioning(subId, imsFeature, tech, capability,
+                isProvisioned);
+    }
+
+    private boolean isFileExist(int subId) {
+        File file = new File(mContext.getFilesDir(), getFileName(subId));
+        return file.exists();
+    }
+
+    private void initCache(int subId) {
+        synchronized (mLock) {
+            PersistableBundle subIdBundle = mSubIdBundleArray.get(subId, null);
+            if (subIdBundle != null) {
+                // initCache() has already been called for the subId
+                return;
+            }
+            if (isFileExist(subId)) {
+                subIdBundle = readSubIdBundleFromXml(subId);
+            } else {
+                // It should read the MMTEL capability cache as part of shared prefs and migrate
+                // over any configs for UT.
+                final int[] regTech = {ImsRegistrationImplBase.REGISTRATION_TECH_LTE,
+                        ImsRegistrationImplBase.REGISTRATION_TECH_IWLAN,
+                        ImsRegistrationImplBase.REGISTRATION_TECH_CROSS_SIM,
+                        ImsRegistrationImplBase.REGISTRATION_TECH_NR};
+                subIdBundle = new PersistableBundle();
+                for (int tech : regTech) {
+                    int UtProvisioningStatus = getUTProvisioningStatus(subId, tech);
+                    logd("check UT provisioning status " + UtProvisioningStatus);
+
+                    if (STATUS_PROVISIONED == UtProvisioningStatus) {
+                        setProvisioningStatusToSubIdBundle(ImsFeature.FEATURE_MMTEL, tech,
+                                MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_UT, subIdBundle,
+                                UtProvisioningStatus);
+                    }
+                }
+                saveSubIdBundleToXml(subId, subIdBundle);
+            }
+            mSubIdBundleArray.put(subId, subIdBundle);
+        }
+    }
+
+    private int getImsProvisioningStatus(int subId, int imsFeature, int tech, int capability) {
+        PersistableBundle subIdBundle = null;
+        synchronized (mLock) {
+            subIdBundle = mSubIdBundleArray.get(subId, null);
+        }
+
+        return getProvisioningStatusFromSubIdBundle(imsFeature, tech,
+                capability, subIdBundle);
+    }
+
+    private boolean setImsFeatureProvisioning(int subId, int imsFeature, int tech, int capability,
+            boolean isProvisioned) {
+        synchronized (mLock) {
+            int preValue = getImsProvisioningStatus(subId, imsFeature, tech, capability);
+            int newValue = isProvisioned ? STATUS_PROVISIONED : STATUS_NOT_PROVISIONED;
+            if (preValue == newValue) {
+                logd("already stored provisioning status " + isProvisioned + " ImsFeature "
+                        + imsFeature + " tech " + tech + " capa " + capability);
+                return false;
+            }
+
+            PersistableBundle subIdBundle = mSubIdBundleArray.get(subId, null);
+            setProvisioningStatusToSubIdBundle(imsFeature, tech, capability, subIdBundle,
+                    newValue);
+            saveSubIdBundleToXml(subId, subIdBundle);
+        }
+        return true;
+    }
+
+    private int getProvisioningStatusFromSubIdBundle(int imsFeature, int tech,
+            int capability, PersistableBundle subIdBundle) {
+        // If it doesn't exist in xml, return STATUS_NOT_SET
+        if (subIdBundle == null || subIdBundle.isEmpty()) {
+            logd("xml is empty");
+            return STATUS_NOT_SET;
+        }
+
+        PersistableBundle regTechBundle = subIdBundle.getPersistableBundle(
+                String.valueOf(imsFeature));
+        if (regTechBundle == null) {
+            logd("ImsFeature " + imsFeature + " is not exist in xml");
+            return STATUS_NOT_SET;
+        }
+
+        PersistableBundle capabilityBundle = regTechBundle.getPersistableBundle(
+                String.valueOf(tech));
+        if (capabilityBundle == null) {
+            logd("RegistrationTech " + tech + " is not exist in xml");
+            return STATUS_NOT_SET;
+        }
+
+        return getIntValueFromBundle(String.valueOf(capability), capabilityBundle);
+    }
+
+    private void setProvisioningStatusToSubIdBundle(int imsFeature, int tech,
+            int capability, PersistableBundle subIdBundle, int newStatus) {
+        logd("set provisioning status " + newStatus + " ImsFeature "
+                + imsFeature + " tech " + tech + " capa " + capability);
+
+        PersistableBundle regTechBundle = subIdBundle.getPersistableBundle(
+                String.valueOf(imsFeature));
+        if (regTechBundle == null) {
+            regTechBundle = new PersistableBundle();
+            subIdBundle.putPersistableBundle(String.valueOf(imsFeature), regTechBundle);
+        }
+
+        PersistableBundle capabilityBundle = regTechBundle.getPersistableBundle(
+                String.valueOf(tech));
+        if (capabilityBundle == null) {
+            capabilityBundle = new PersistableBundle();
+            regTechBundle.putPersistableBundle(String.valueOf(tech), capabilityBundle);
+        }
+
+        capabilityBundle.putInt(String.valueOf(capability), newStatus);
+    }
+
+    // Default value is STATUS_NOT_SET
+    private int getIntValueFromBundle(String key, PersistableBundle bundle) {
+        int value = bundle.getInt(key, STATUS_NOT_SET);
+        logd("get value " + value);
+        return value;
+    }
+
+    // Return subIdBundle from imsprovisioningstatus_{subId}.xml
+    private PersistableBundle readSubIdBundleFromXml(int subId) {
+        String fileName = getFileName(subId);
+
+        PersistableBundle subIdBundles = new PersistableBundle();
+        File file = null;
+        FileInputStream inFile = null;
+        synchronized (mLock) {
+            try {
+                file = new File(mContext.getFilesDir(), fileName);
+                inFile = new FileInputStream(file);
+                subIdBundles = PersistableBundle.readFromStream(inFile);
+                inFile.close();
+            } catch (FileNotFoundException e) {
+                logd(e.toString());
+            } catch (IOException e) {
+                loge(e.toString());
+            } catch (RuntimeException e) {
+                loge(e.toString());
+            }
+        }
+
+        return subIdBundles;
+    }
+
+    private void saveSubIdBundleToXml(int subId, PersistableBundle subIdBundle) {
+        String fileName = getFileName(subId);
+
+        if (subIdBundle == null || subIdBundle.isEmpty()) {
+            logd("subIdBundle is empty");
+            return;
+        }
+
+        FileOutputStream outFile = null;
+        synchronized (mLock) {
+            try {
+                outFile = new FileOutputStream(new File(mContext.getFilesDir(), fileName));
+                subIdBundle.writeToStream(outFile);
+                outFile.flush();
+                outFile.close();
+            } catch (IOException e) {
+                loge(e.toString());
+            } catch (RuntimeException e) {
+                loge(e.toString());
+            }
+        }
+    }
+
+    private int getUTProvisioningStatus(int subId, int tech) {
+        return getMmTelCapabilityProvisioningBitfield(subId, tech) > 0 ? STATUS_PROVISIONED
+                : STATUS_NOT_SET;
+    }
+
+    /**
+     * @return the bitfield containing the MmTel provisioning for the provided subscription and
+     * technology. The bitfield should mirror the bitfield defined by
+     * {@link MmTelFeature.MmTelCapabilities.MmTelCapability}.
+     */
+    private int getMmTelCapabilityProvisioningBitfield(int subId, int tech) {
+        String key = getMmTelProvisioningKey(subId, tech);
+        // Default is no capabilities are provisioned.
+        return mTelephonySharedPreferences.getInt(key, 0 /*default*/);
+    }
+
+    private String getMmTelProvisioningKey(int subId, int tech) {
+        // Resulting key is provision_ims_mmtel_{subId}_{tech}
+        return PREF_PROVISION_IMS_MMTEL_PREFIX + subId + "_" + tech;
+    }
+
+    private String getFileName(int subId) {
+        // Resulting name is imsprovisioningstatus_{subId}.xml
+        return PROVISIONING_FILE_NAME_PREF + subId + ".xml";
+    }
+
+    @VisibleForTesting
+    void clear() {
+        synchronized (mLock) {
+            mSubIdBundleArray.clear();
+        }
+    }
+
+    @VisibleForTesting
+    void setProvisioningToXml(int subId, PersistableBundle subIdBundle,
+            String[] infoArray) {
+        for (String info : infoArray) {
+            String[] paramArray = info.split(",");
+            setProvisioningStatusToSubIdBundle(Integer.valueOf(paramArray[0]),
+                    Integer.valueOf(paramArray[1]), Integer.valueOf(paramArray[2]),
+                    subIdBundle, Integer.valueOf(paramArray[3]));
+        }
+        saveSubIdBundleToXml(subId, subIdBundle);
+    }
+
+    private void loge(String contents) {
+        Log.e(LOG_TAG, contents);
+    }
+
+    private void logd(String contents) {
+        Log.d(LOG_TAG, contents);
+    }
+
+}
diff --git a/src/com/android/phone/ImsRcsController.java b/src/com/android/phone/ImsRcsController.java
index 7d594d1..bf55764 100644
--- a/src/com/android/phone/ImsRcsController.java
+++ b/src/com/android/phone/ImsRcsController.java
@@ -17,9 +17,13 @@
 package com.android.phone;
 
 import android.Manifest;
+import android.app.compat.CompatChanges;
+import android.compat.annotation.ChangeId;
+import android.compat.annotation.EnabledAfter;
 import android.content.pm.PackageManager;
 import android.net.Uri;
 import android.os.Binder;
+import android.os.Build;
 import android.os.RemoteException;
 import android.os.ServiceSpecificException;
 import android.os.UserHandle;
@@ -73,6 +77,15 @@
     private Boolean mSingleRegistrationOverride;
 
     /**
+     * For apps targeting Android T and above, support the publishing state on APIs, such as
+     * {@code RcsUceAdapter#PUBLISH_STATE_PUBLISHING}
+     * @hide
+     */
+    @ChangeId
+    @EnabledAfter(targetSdkVersion = Build.VERSION_CODES.S)
+    public static final long SUPPORT_PUBLISHING_STATE = 202894742;
+
+    /**
      * Initialize the singleton ImsRcsController instance.
      * This is only done once, at startup, from PhoneApp.onCreate().
      */
@@ -316,7 +329,9 @@
     @Override
     public @PublishState int getUcePublishState(int subId) {
         enforceReadPrivilegedPermission("getUcePublishState");
+        final int uid = Binder.getCallingUid();
         final long token = Binder.clearCallingIdentity();
+        boolean isSupportPublishingState = false;
         try {
             UceControllerManager uceCtrlManager = getRcsFeatureController(subId).getFeature(
                     UceControllerManager.class);
@@ -324,7 +339,10 @@
                 throw new ServiceSpecificException(ImsException.CODE_ERROR_UNSUPPORTED_OPERATION,
                         "This subscription does not support UCE.");
             }
-            return uceCtrlManager.getUcePublishState();
+            if (CompatChanges.isChangeEnabled(SUPPORT_PUBLISHING_STATE, uid)) {
+                isSupportPublishingState = true;
+            }
+            return uceCtrlManager.getUcePublishState(isSupportPublishingState);
         } catch (ImsException e) {
             throw new ServiceSpecificException(e.getCode(), e.getMessage());
         } finally {
@@ -466,7 +484,9 @@
     @Override
     public void registerUcePublishStateCallback(int subId, IRcsUcePublishStateCallback c) {
         enforceReadPrivilegedPermission("registerUcePublishStateCallback");
+        final int uid = Binder.getCallingUid();
         final long token = Binder.clearCallingIdentity();
+        boolean isSupportPublishingState = false;
         try {
             UceControllerManager uceCtrlManager = getRcsFeatureController(subId).getFeature(
                     UceControllerManager.class);
@@ -474,7 +494,11 @@
                 throw new ServiceSpecificException(ImsException.CODE_ERROR_UNSUPPORTED_OPERATION,
                         "This subscription does not support UCE.");
             }
-            uceCtrlManager.registerPublishStateCallback(c);
+
+            if (CompatChanges.isChangeEnabled(SUPPORT_PUBLISHING_STATE, uid)) {
+                isSupportPublishingState = true;
+            }
+            uceCtrlManager.registerPublishStateCallback(c, isSupportPublishingState);
         } catch (ImsException e) {
             throw new ServiceSpecificException(e.getCode(), e.getMessage());
         } finally {
@@ -582,6 +606,7 @@
             throw new SecurityException("Passed in PackageName can not be found on device");
         }
 
+        final int uid = Binder.getCallingUid();
         final long identity = Binder.clearCallingIdentity();
         SipTransportController transport = getRcsFeatureController(subId).getFeature(
                 SipTransportController.class);
@@ -590,7 +615,7 @@
                     "This subscription does not support the creation of SIP delegates");
         }
         try {
-            transport.createSipDelegate(subId, request, packageName, delegateState,
+            transport.createSipDelegate(subId, uid, request, packageName, delegateState,
                     delegateMessage);
         } catch (ImsException e) {
             throw new ServiceSpecificException(e.getCode(), e.getMessage());
diff --git a/src/com/android/phone/ImsStateCallbackController.java b/src/com/android/phone/ImsStateCallbackController.java
new file mode 100644
index 0000000..57c1787
--- /dev/null
+++ b/src/com/android/phone/ImsStateCallbackController.java
@@ -0,0 +1,1192 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.phone;
+
+import static android.telephony.ims.ImsStateCallback.REASON_IMS_SERVICE_DISCONNECTED;
+import static android.telephony.ims.ImsStateCallback.REASON_IMS_SERVICE_NOT_READY;
+import static android.telephony.ims.ImsStateCallback.REASON_NO_IMS_SERVICE_CONFIGURED;
+import static android.telephony.ims.ImsStateCallback.REASON_SUBSCRIPTION_INACTIVE;
+import static android.telephony.ims.ImsStateCallback.REASON_UNKNOWN_PERMANENT_ERROR;
+import static android.telephony.ims.ImsStateCallback.REASON_UNKNOWN_TEMPORARY_ERROR;
+import static android.telephony.ims.feature.ImsFeature.FEATURE_MMTEL;
+import static android.telephony.ims.feature.ImsFeature.FEATURE_RCS;
+import static android.telephony.ims.feature.ImsFeature.STATE_READY;
+import static android.telephony.ims.feature.ImsFeature.STATE_UNAVAILABLE;
+
+import static com.android.ims.FeatureConnector.UNAVAILABLE_REASON_DISCONNECTED;
+import static com.android.ims.FeatureConnector.UNAVAILABLE_REASON_IMS_UNSUPPORTED;
+import static com.android.ims.FeatureConnector.UNAVAILABLE_REASON_NOT_READY;
+import static com.android.ims.FeatureConnector.UNAVAILABLE_REASON_SERVER_UNAVAILABLE;
+
+import android.content.BroadcastReceiver;
+import android.content.Context;
+import android.content.Intent;
+import android.content.IntentFilter;
+import android.os.AsyncResult;
+import android.os.Bundle;
+import android.os.Handler;
+import android.os.HandlerThread;
+import android.os.IBinder;
+import android.os.Looper;
+import android.os.Message;
+import android.telephony.CarrierConfigManager;
+import android.telephony.SubscriptionManager;
+import android.telephony.TelephonyRegistryManager;
+import android.telephony.ims.feature.ImsFeature;
+import android.util.LocalLog;
+import android.util.Log;
+import android.util.SparseArray;
+
+import com.android.ims.FeatureConnector;
+import com.android.ims.ImsManager;
+import com.android.ims.RcsFeatureManager;
+import com.android.internal.annotations.VisibleForTesting;
+import com.android.internal.telephony.IImsStateCallback;
+import com.android.internal.telephony.Phone;
+import com.android.internal.telephony.PhoneConfigurationManager;
+import com.android.internal.telephony.PhoneFactory;
+import com.android.internal.telephony.ims.ImsResolver;
+import com.android.internal.telephony.util.HandlerExecutor;
+import com.android.internal.util.IndentingPrintWriter;
+import com.android.services.telephony.rcs.RcsFeatureController;
+import com.android.telephony.Rlog;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.concurrent.Executor;
+
+/**
+ * Implementation of the controller managing {@link ImsStateCallback}s
+ */
+public class ImsStateCallbackController {
+    private static final String TAG = "ImsStateCallbackController";
+    private static final boolean VDBG = false;
+    private static final int LOG_SIZE = 50;
+
+    /**
+     * Create a FeatureConnector for this class to use to connect to an ImsManager.
+     */
+    @VisibleForTesting
+    public interface MmTelFeatureConnectorFactory {
+        /**
+         * Create a FeatureConnector for this class to use to connect to an ImsManager.
+         * @param listener will receive ImsManager instance.
+         * @param executor that the Listener callbacks will be called on.
+         * @return A FeatureConnector
+         */
+        FeatureConnector<ImsManager> create(Context context, int slotId,
+                String logPrefix, FeatureConnector.Listener<ImsManager> listener,
+                Executor executor);
+    }
+
+    /**
+     * Create a FeatureConnector for this class to use to connect to an RcsFeatureManager.
+     */
+    @VisibleForTesting
+    public interface RcsFeatureConnectorFactory {
+        /**
+         * Create a FeatureConnector for this class to use to connect to an RcsFeatureManager.
+         * @param listener will receive RcsFeatureManager instance.
+         * @param executor that the Listener callbacks will be called on.
+         * @return A FeatureConnector
+         */
+        FeatureConnector<RcsFeatureManager> create(Context context, int slotId,
+                FeatureConnector.Listener<RcsFeatureManager> listener,
+                Executor executor, String logPrefix);
+    }
+
+    /** Indicates that the state is not valid, used in ExternalRcsFeatureState only */
+    private static final int STATE_UNKNOWN = -1;
+
+    /** The unavailable reason of ImsFeature is not initialized */
+    private static final int NOT_INITIALIZED = -1;
+    /** The ImsFeature is available. */
+    private static final int AVAILABLE = 0;
+
+    private static final int EVENT_SUB_CHANGED = 1;
+    private static final int EVENT_REGISTER_CALLBACK = 2;
+    private static final int EVENT_UNREGISTER_CALLBACK = 3;
+    private static final int EVENT_CARRIER_CONFIG_CHANGED = 4;
+    private static final int EVENT_EXTERNAL_RCS_STATE_CHANGED = 5;
+    private static final int EVENT_MSIM_CONFIGURATION_CHANGE = 6;
+
+    private static ImsStateCallbackController sInstance;
+    private static final LocalLog sLocalLog = new LocalLog(LOG_SIZE);
+
+    /**
+     * get the instance
+     */
+    public static ImsStateCallbackController getInstance() {
+        synchronized (ImsStateCallbackController.class) {
+            return sInstance;
+        }
+    }
+
+    private final PhoneGlobals mApp;
+    private final Handler mHandler;
+    private final ImsResolver mImsResolver;
+    private final SparseArray<MmTelFeatureListener> mMmTelFeatureListeners = new SparseArray<>();
+    private final SparseArray<RcsFeatureListener> mRcsFeatureListeners = new SparseArray<>();
+
+    private final SubscriptionManager mSubscriptionManager;
+    private final TelephonyRegistryManager mTelephonyRegistryManager;
+    private MmTelFeatureConnectorFactory mMmTelFeatureFactory;
+    private RcsFeatureConnectorFactory mRcsFeatureFactory;
+
+    private HashMap<IBinder, CallbackWrapper> mWrappers = new HashMap<>();
+
+    private final Object mDumpLock = new Object();
+
+    private int mNumSlots;
+
+    private BroadcastReceiver mReceiver = new BroadcastReceiver() {
+        @Override
+        public void onReceive(Context context, Intent intent) {
+            if (intent == null) {
+                return;
+            }
+            if (CarrierConfigManager.ACTION_CARRIER_CONFIG_CHANGED.equals(intent.getAction())) {
+                Bundle bundle = intent.getExtras();
+                if (bundle == null) {
+                    return;
+                }
+                int slotId = bundle.getInt(CarrierConfigManager.EXTRA_SLOT_INDEX,
+                        SubscriptionManager.INVALID_PHONE_INDEX);
+                int subId = bundle.getInt(CarrierConfigManager.EXTRA_SUBSCRIPTION_INDEX,
+                        SubscriptionManager.INVALID_SUBSCRIPTION_ID);
+
+                if (slotId <= SubscriptionManager.INVALID_SIM_SLOT_INDEX) {
+                    loge("onReceive ACTION_CARRIER_CONFIG_CHANGED invalid slotId");
+                    return;
+                }
+
+                if (subId <= SubscriptionManager.INVALID_SUBSCRIPTION_ID) {
+                    loge("onReceive ACTION_CARRIER_CONFIG_CHANGED invalid subId");
+                    //subscription changed will be notified by mSubChangedListener
+                    return;
+                }
+
+                notifyCarrierConfigChanged(slotId);
+            }
+        }
+    };
+
+    private final SubscriptionManager.OnSubscriptionsChangedListener mSubChangedListener =
+            new SubscriptionManager.OnSubscriptionsChangedListener() {
+        @Override
+        public void onSubscriptionsChanged() {
+            if (!mHandler.hasMessages(EVENT_SUB_CHANGED)) {
+                mHandler.sendEmptyMessage(EVENT_SUB_CHANGED);
+            }
+        }
+    };
+
+    private final class MyHandler extends Handler {
+        MyHandler(Looper looper) {
+            super(looper);
+        }
+
+        @Override
+        public void handleMessage(Message msg) {
+            if (VDBG) logv("handleMessage: " + msg);
+            synchronized (mDumpLock) {
+                switch (msg.what) {
+                    case EVENT_SUB_CHANGED:
+                        onSubChanged();
+                        break;
+
+                    case EVENT_REGISTER_CALLBACK:
+                        onRegisterCallback((ImsStateCallbackController.CallbackWrapper) msg.obj);
+                        break;
+
+                    case EVENT_UNREGISTER_CALLBACK:
+                        onUnregisterCallback((IImsStateCallback) msg.obj);
+                        break;
+
+                    case EVENT_CARRIER_CONFIG_CHANGED:
+                        onCarrierConfigChanged(msg.arg1);
+                        break;
+
+                    case EVENT_EXTERNAL_RCS_STATE_CHANGED:
+                        if (msg.obj == null) break;
+                        onExternalRcsStateChanged((ExternalRcsFeatureState) msg.obj);
+                        break;
+
+                    case EVENT_MSIM_CONFIGURATION_CHANGE:
+                        AsyncResult result = (AsyncResult) msg.obj;
+                        Integer numSlots = (Integer) result.result;
+                        if (numSlots == null) {
+                            Log.w(TAG, "msim config change with null num slots");
+                            break;
+                        }
+                        updateFeatureControllerSize(numSlots);
+                        break;
+
+                    default:
+                        loge("Unhandled event " + msg.what);
+                }
+            }
+        }
+    }
+
+    private final class MmTelFeatureListener implements FeatureConnector.Listener<ImsManager> {
+        private FeatureConnector<ImsManager> mConnector;
+        private int mSubId = SubscriptionManager.INVALID_SUBSCRIPTION_ID;
+        private int mState = STATE_UNAVAILABLE;
+        private int mReason = REASON_IMS_SERVICE_DISCONNECTED;
+
+        /*
+         * Remember the last return of verifyImsMmTelConfigured().
+         * true means ImsResolver found an IMS package for FEATURE_MMTEL.
+         *
+         * mReason is updated through connectionUnavailable triggered by ImsResolver.
+         * mHasConfig is update through notifyConfigChanged triggered by mReceiver.
+         * mHasConfig can be a redundancy of (mReason == REASON_NO_IMS_SERVICE_CONFIGURED).
+         * However, when a carrier config changes, we are not sure the order
+         * of execution of connectionUnavailable and notifyConfigChanged.
+         * So, it's safe to use a separated state to retain it.
+         * We assume mHasConfig is true, until it's determined explicitly.
+         */
+        private boolean mHasConfig = true;
+
+        private int mSlotId = -1;
+        private String mLogPrefix = "";
+
+        MmTelFeatureListener(int slotId) {
+            mSlotId = slotId;
+            mLogPrefix = "[" + slotId + ", MMTEL] ";
+            if (VDBG) logv(mLogPrefix + "created");
+
+            mConnector = mMmTelFeatureFactory.create(
+                    mApp, slotId, TAG, this, new HandlerExecutor(mHandler));
+            mConnector.connect();
+        }
+
+        void setSubId(int subId) {
+            if (VDBG) logv(mLogPrefix + "setSubId mSubId=" + mSubId + ", subId=" + subId);
+            if (mSubId == subId) return;
+            logd(mLogPrefix + "setSubId changed subId=" + subId);
+
+            mSubId = subId;
+        }
+
+        void destroy() {
+            if (VDBG) logv(mLogPrefix + "destroy");
+            mConnector.disconnect();
+            mConnector = null;
+        }
+
+        @Override
+        public void connectionReady(ImsManager manager, int subId) {
+            logd(mLogPrefix + "connectionReady " + subId);
+
+            mSubId = subId;
+            if (subId == SubscriptionManager.INVALID_SUBSCRIPTION_ID) return;
+
+            mState = STATE_READY;
+            mReason = AVAILABLE;
+            mHasConfig = true;
+            onFeatureStateChange(mSubId, FEATURE_MMTEL, mState, mReason);
+        }
+
+        @Override
+        public void connectionUnavailable(int reason) {
+            logd(mLogPrefix + "connectionUnavailable reason=" + connectorReasonToString(reason));
+
+            reason = convertReasonType(reason);
+            if (mReason == reason) return;
+
+            connectionUnavailableInternal(reason);
+        }
+
+        private void connectionUnavailableInternal(int reason) {
+            mState = STATE_UNAVAILABLE;
+            mReason = reason;
+
+            /* If having no IMS package for MMTEL,
+             * dicard the reason except REASON_NO_IMS_SERVICE_CONFIGURED. */
+            if (!mHasConfig && reason != REASON_NO_IMS_SERVICE_CONFIGURED) return;
+
+            onFeatureStateChange(mSubId, FEATURE_MMTEL, mState, mReason);
+        }
+
+        void notifyConfigChanged(boolean hasConfig) {
+            if (mHasConfig == hasConfig) return;
+
+            logd(mLogPrefix + "notifyConfigChanged " + hasConfig);
+
+            mHasConfig = hasConfig;
+            if (hasConfig) {
+                // REASON_NO_IMS_SERVICE_CONFIGURED is already reported to the clients,
+                // since there is no configuration of IMS package for MMTEL.
+                // Now, a carrier configuration change is notified and
+                // the response from ImsResolver is changed from false to true.
+                if (mState != STATE_READY) {
+                    if (mReason == REASON_NO_IMS_SERVICE_CONFIGURED) {
+                        // In this case, notify clients the reason, REASON_DISCONNCTED,
+                        // to update the state.
+                        connectionUnavailable(UNAVAILABLE_REASON_DISCONNECTED);
+                    } else {
+                        // ImsResolver and ImsStateCallbackController run with different Looper.
+                        // In this case, FeatureConnectorListener is updated ahead of this.
+                        // But, connectionUnavailable didn't notify clients since mHasConfig is
+                        // false. So, notify clients here.
+                        connectionUnavailableInternal(mReason);
+                    }
+                }
+            } else {
+                // FeatureConnector doesn't report UNAVAILABLE_REASON_IMS_UNSUPPORTED,
+                // so report the reason here.
+                connectionUnavailable(UNAVAILABLE_REASON_IMS_UNSUPPORTED);
+            }
+        }
+
+        // called from onRegisterCallback
+        boolean notifyState(CallbackWrapper wrapper) {
+            if (VDBG) logv(mLogPrefix + "notifyState subId=" + wrapper.mSubId);
+
+            return wrapper.notifyState(mSubId, FEATURE_MMTEL, mState, mReason);
+        }
+
+        void dump(IndentingPrintWriter pw) {
+            pw.println("Listener={slotId=" + mSlotId
+                    + ", subId=" + mSubId
+                    + ", state=" + ImsFeature.STATE_LOG_MAP.get(mState)
+                    + ", reason=" + imsStateReasonToString(mReason)
+                    + ", hasConfig=" + mHasConfig
+                    + "}");
+        }
+    }
+
+    private final class RcsFeatureListener implements FeatureConnector.Listener<RcsFeatureManager> {
+        private FeatureConnector<RcsFeatureManager> mConnector;
+        private int mSubId = SubscriptionManager.INVALID_SUBSCRIPTION_ID;
+        private int mState = STATE_UNAVAILABLE;
+        private int mReason = REASON_IMS_SERVICE_DISCONNECTED;
+
+        /*
+         * Remember the last return of verifyImsMmTelConfigured().
+         * true means ImsResolver found an IMS package for FEATURE_RCS.
+         *
+         * mReason is updated through connectionUnavailable triggered by ImsResolver.
+         * mHasConfig is update through notifyConfigChanged triggered by mReceiver,
+         * and notifyExternalRcsState which triggered by TelephonyRcsService refers it.
+         * mHasConfig can be a redundancy of (mReason == REASON_NO_IMS_SERVICE_CONFIGURED).
+         * However, when a carrier config changes, we are not sure the order
+         * of execution of connectionUnavailable, notifyConfigChanged and notifyExternalRcsState.
+         * So, it's safe to use a separated state to retain it.
+         * We assume mHasConfig is true, until it's determined explicitly.
+         */
+        private boolean mHasConfig = true;
+
+        /*
+         * TelephonyRcsService doesn’t try to connect to RcsFeature if there is no active feature
+         * for a given subscription. The active features are declared by carrier configs and
+         * configuration resources. The APIs of ImsRcsManager and SipDelegateManager are available
+         * only when the RcsFeatureController has a STATE_READY state connection.
+         * This configuration is different from the configuration of IMS package for RCS.
+         * ImsStateCallbackController's FeatureConnectorListener can be STATE_READY state,
+         * even in case there is no active RCS feature. But Manager's APIs throws exception.
+         *
+         * For RCS, in addition to mHasConfig, the sate of TelephonyRcsService and
+         * RcsFeatureConnector will be traced to determine the state to be notified to clients.
+         */
+        private ExternalRcsFeatureState mExternalState = null;
+
+        private int mSlotId = -1;
+        private String mLogPrefix = "";
+
+        RcsFeatureListener(int slotId) {
+            mSlotId = slotId;
+            mLogPrefix = "[" + slotId + ", RCS] ";
+            if (VDBG) logv(mLogPrefix + "created");
+
+            mConnector = mRcsFeatureFactory.create(
+                    mApp, slotId, this, new HandlerExecutor(mHandler), TAG);
+            mConnector.connect();
+        }
+
+        void setSubId(int subId) {
+            if (VDBG) logv(mLogPrefix + "setSubId mSubId=" + mSubId + ", subId=" + subId);
+            if (mSubId == subId) return;
+            logd(mLogPrefix + "setSubId changed subId=" + subId);
+
+            mSubId = subId;
+        }
+
+        void destroy() {
+            if (VDBG) logv(mLogPrefix + "destroy");
+
+            mConnector.disconnect();
+            mConnector = null;
+        }
+
+        @Override
+        public void connectionReady(RcsFeatureManager manager, int subId) {
+            logd(mLogPrefix + "connectionReady " + subId);
+
+            mSubId = subId;
+            if (subId == SubscriptionManager.INVALID_SUBSCRIPTION_ID) return;
+
+            mState = STATE_READY;
+            mReason = AVAILABLE;
+            mHasConfig = true;
+
+            if (mExternalState != null && mExternalState.isReady()) {
+                onFeatureStateChange(mSubId, FEATURE_RCS, mState, mReason);
+            }
+        }
+
+        @Override
+        public void connectionUnavailable(int reason) {
+            logd(mLogPrefix + "connectionUnavailable reason=" + connectorReasonToString(reason));
+
+            reason = convertReasonType(reason);
+            if (mReason == reason) return;
+
+            connectionUnavailableInternal(reason);
+        }
+
+        private void connectionUnavailableInternal(int reason) {
+            mState = STATE_UNAVAILABLE;
+            mReason = reason;
+
+            /* If having no IMS package for RCS,
+             * dicard the reason except REASON_NO_IMS_SERVICE_CONFIGURED. */
+            if (!mHasConfig && reason != REASON_NO_IMS_SERVICE_CONFIGURED) return;
+
+            if (mExternalState == null && reason != REASON_NO_IMS_SERVICE_CONFIGURED) {
+                // Wait until TelephonyRcsService notifies its state.
+                return;
+            }
+
+            if (mExternalState != null && !mExternalState.hasActiveFeatures()) {
+                // notifyExternalRcsState has notified REASON_NO_IMS_SERVICE_CONFIGURED already
+                // ignore it
+                return;
+            }
+
+            if ((mExternalState != null && mExternalState.hasActiveFeatures())
+                    || mReason == REASON_NO_IMS_SERVICE_CONFIGURED) {
+                onFeatureStateChange(mSubId, FEATURE_RCS, mState, mReason);
+            }
+        }
+
+        void notifyConfigChanged(boolean hasConfig) {
+            if (mHasConfig == hasConfig) return;
+
+            logd(mLogPrefix + "notifyConfigChanged " + hasConfig);
+
+            mHasConfig = hasConfig;
+            if (hasConfig) {
+                // REASON_NO_IMS_SERVICE_CONFIGURED is already reported to the clients,
+                // since there is no configuration of IMS package for RCS.
+                // Now, a carrier configuration change is notified and
+                // the response from ImsResolver is changed from false to true.
+                if (mState != STATE_READY) {
+                    if (mReason == REASON_NO_IMS_SERVICE_CONFIGURED) {
+                        // In this case, notify clients the reason, REASON_DISCONNCTED,
+                        // to update the state.
+                        connectionUnavailable(UNAVAILABLE_REASON_DISCONNECTED);
+                    } else {
+                        // ImsResolver and ImsStateCallbackController run with different Looper.
+                        // In this case, FeatureConnectorListener is updated ahead of this.
+                        // But, connectionUnavailable didn't notify clients since mHasConfig is
+                        // false. So, notify clients here.
+                        connectionUnavailableInternal(mReason);
+                    }
+                }
+            } else {
+                // FeatureConnector doesn't report UNAVAILABLE_REASON_IMS_UNSUPPORTED,
+                // so report the reason here.
+                connectionUnavailable(UNAVAILABLE_REASON_IMS_UNSUPPORTED);
+            }
+        }
+
+        void notifyExternalRcsState(ExternalRcsFeatureState fs) {
+            if (VDBG) {
+                logv(mLogPrefix + "notifyExternalRcsState"
+                        + " state=" + (fs.mState == STATE_UNKNOWN
+                                ? "" : ImsFeature.STATE_LOG_MAP.get(fs.mState))
+                        + ", reason=" + imsStateReasonToString(fs.mReason));
+            }
+
+            ExternalRcsFeatureState oldFs = mExternalState;
+            // External state is from TelephonyRcsService while a feature is added or removed.
+            if (fs.mState == STATE_UNKNOWN) {
+                if (oldFs != null) fs.mState = oldFs.mState;
+                else fs.mState = STATE_UNAVAILABLE;
+            }
+
+            mExternalState = fs;
+
+            // No IMS package found.
+            // REASON_NO_IMS_SERVICE_CONFIGURED is notified to clients already.
+            if (!mHasConfig) return;
+
+            if (fs.hasActiveFeatures()) {
+                if (mState == STATE_READY) {
+                    if ((oldFs == null || !oldFs.isReady()) && fs.isReady()) {
+                        // it is waiting RcsFeatureConnector's notification.
+                        // notify clients here.
+                        onFeatureStateChange(mSubId, FEATURE_RCS, mState, mReason);
+                    } else if (!fs.isReady()) {
+                        // Wait RcsFeatureConnector's notification
+                    } else {
+                        // ignore duplicated notification
+                    }
+                }
+            } else {
+                // notify only once
+                if (oldFs == null || oldFs.hasActiveFeatures()) {
+                    if (mReason != REASON_NO_IMS_SERVICE_CONFIGURED) {
+                        onFeatureStateChange(
+                                mSubId, FEATURE_RCS, STATE_UNAVAILABLE,
+                                REASON_NO_IMS_SERVICE_CONFIGURED);
+                    }
+                } else {
+                    // ignore duplicated notification
+                }
+            }
+        }
+
+        // called from onRegisterCallback
+        boolean notifyState(CallbackWrapper wrapper) {
+            if (VDBG) logv(mLogPrefix + "notifyState subId=" + wrapper.mSubId);
+
+            if (mHasConfig) {
+                if (mExternalState == null) {
+                    // Wait until TelephonyRcsService notifies its state.
+                    return wrapper.notifyState(mSubId, FEATURE_RCS, STATE_UNAVAILABLE,
+                            REASON_IMS_SERVICE_DISCONNECTED);
+                } else if (!mExternalState.hasActiveFeatures()) {
+                    return wrapper.notifyState(mSubId, FEATURE_RCS, STATE_UNAVAILABLE,
+                            REASON_NO_IMS_SERVICE_CONFIGURED);
+                }
+            }
+
+            return wrapper.notifyState(mSubId, FEATURE_RCS, mState, mReason);
+        }
+
+        void dump(IndentingPrintWriter pw) {
+            pw.println("Listener={slotId=" + mSlotId
+                    + ", subId=" + mSubId
+                    + ", state=" + ImsFeature.STATE_LOG_MAP.get(mState)
+                    + ", reason=" + imsStateReasonToString(mReason)
+                    + ", hasConfig=" + mHasConfig
+                    + ", isReady=" + (mExternalState == null ? false : mExternalState.isReady())
+                    + ", hasFeatures=" + (mExternalState == null ? false
+                            : mExternalState.hasActiveFeatures())
+                    + "}");
+        }
+    }
+
+    /**
+     * A wrapper class for the callback registered
+     */
+    private static class CallbackWrapper {
+        private final int mSubId;
+        private final int mRequiredFeature;
+        private final IImsStateCallback mCallback;
+        private final IBinder mBinder;
+        private final String mCallingPackage;
+        private int mLastReason = NOT_INITIALIZED;
+
+        CallbackWrapper(int subId, int feature, IImsStateCallback callback,
+                String callingPackage) {
+            mSubId = subId;
+            mRequiredFeature = feature;
+            mCallback = callback;
+            mBinder = callback.asBinder();
+            mCallingPackage = callingPackage;
+        }
+
+        /**
+         * @return false when accessing callback binder throws an Exception.
+         * That means the callback binder is not valid any longer.
+         * The death of remote process can cause this.
+         * This instance shall be removed from the list.
+         */
+        boolean notifyState(int subId, int feature, int state, int reason) {
+            if (VDBG) {
+                logv("CallbackWrapper notifyState subId=" + subId
+                        + ", feature=" + ImsFeature.FEATURE_LOG_MAP.get(feature)
+                        + ", state=" + ImsFeature.STATE_LOG_MAP.get(state)
+                        + ", reason=" + imsStateReasonToString(reason));
+            }
+
+            try {
+                if (state == STATE_READY) {
+                    mCallback.onAvailable();
+                } else {
+                    mCallback.onUnavailable(reason);
+                }
+                mLastReason = reason;
+            } catch (Exception e) {
+                loge("CallbackWrapper notifyState e=" + e);
+                return false;
+            }
+
+            return true;
+        }
+
+        void notifyInactive() {
+            logd("CallbackWrapper notifyInactive subId=" + mSubId);
+
+            try {
+                mCallback.onUnavailable(REASON_SUBSCRIPTION_INACTIVE);
+            } catch (Exception e) {
+                // ignored
+            }
+        }
+
+        void dump(IndentingPrintWriter pw) {
+            pw.println("CallbackWrapper={subId=" + mSubId
+                    + ", feature=" + ImsFeature.FEATURE_LOG_MAP.get(mRequiredFeature)
+                    + ", reason=" + imsStateReasonToString(mLastReason)
+                    + ", pkg=" + mCallingPackage
+                    + "}");
+        }
+    }
+
+    private static class ExternalRcsFeatureState {
+        private int mSlotId;
+        private int mState = STATE_UNAVAILABLE;
+        private int mReason = NOT_INITIALIZED;
+
+        ExternalRcsFeatureState(int slotId, int state, int reason) {
+            mSlotId = slotId;
+            mState = state;
+            mReason = reason;
+        }
+
+        boolean hasActiveFeatures() {
+            return mReason != REASON_NO_IMS_SERVICE_CONFIGURED;
+        }
+
+        boolean isReady() {
+            return mState == STATE_READY;
+        }
+    }
+
+    /**
+     * create an instance
+     */
+    public static ImsStateCallbackController make(PhoneGlobals app, int numSlots) {
+        synchronized (ImsStateCallbackController.class) {
+            if (sInstance == null) {
+                logd("ImsStateCallbackController created");
+
+                HandlerThread handlerThread = new HandlerThread(TAG);
+                handlerThread.start();
+                sInstance = new ImsStateCallbackController(app, handlerThread.getLooper(), numSlots,
+                        ImsManager::getConnector, RcsFeatureManager::getConnector,
+                        ImsResolver.getInstance());
+            }
+        }
+        return sInstance;
+    }
+
+    @VisibleForTesting
+    public ImsStateCallbackController(PhoneGlobals app, Looper looper, int numSlots,
+            MmTelFeatureConnectorFactory mmTelFactory, RcsFeatureConnectorFactory rcsFactory,
+            ImsResolver imsResolver) {
+        mApp = app;
+        mHandler = new MyHandler(looper);
+        mImsResolver = imsResolver;
+        mSubscriptionManager = mApp.getSystemService(SubscriptionManager.class);
+        mTelephonyRegistryManager = mApp.getSystemService(TelephonyRegistryManager.class);
+        mMmTelFeatureFactory = mmTelFactory;
+        mRcsFeatureFactory = rcsFactory;
+
+        updateFeatureControllerSize(numSlots);
+
+        mTelephonyRegistryManager.addOnSubscriptionsChangedListener(
+                mSubChangedListener, mSubChangedListener.getHandlerExecutor());
+
+        PhoneConfigurationManager.registerForMultiSimConfigChange(mHandler,
+                EVENT_MSIM_CONFIGURATION_CHANGE, null);
+
+        mApp.registerReceiver(mReceiver, new IntentFilter(
+                CarrierConfigManager.ACTION_CARRIER_CONFIG_CHANGED));
+
+        onSubChanged();
+    }
+
+    /**
+     * Update the number of {@link RcsFeatureController}s that are created based on the number of
+     * active slots on the device.
+     */
+    @VisibleForTesting
+    public void updateFeatureControllerSize(int newNumSlots) {
+        if (mNumSlots != newNumSlots) {
+            logd("updateFeatures: oldSlots=" + mNumSlots
+                    + ", newNumSlots=" + newNumSlots);
+            if (mNumSlots < newNumSlots) {
+                for (int i = mNumSlots; i < newNumSlots; i++) {
+                    MmTelFeatureListener m = new MmTelFeatureListener(i);
+                    mMmTelFeatureListeners.put(i, m);
+                    RcsFeatureListener r = new RcsFeatureListener(i);
+                    mRcsFeatureListeners.put(i, r);
+                }
+            } else {
+                for (int i = (mNumSlots - 1); i > (newNumSlots - 1); i--) {
+                    MmTelFeatureListener m = mMmTelFeatureListeners.get(i);
+                    if (m != null) {
+                        mMmTelFeatureListeners.remove(i);
+                        m.destroy();
+                    }
+                    RcsFeatureListener r = mRcsFeatureListeners.get(i);
+                    if (r != null) {
+                        mRcsFeatureListeners.remove(i);
+                        r.destroy();
+                    }
+                }
+            }
+        }
+        mNumSlots = newNumSlots;
+    }
+
+    /**
+     * Dependencies for testing.
+     */
+    @VisibleForTesting
+    public void onSubChanged() {
+        for (int i = 0; i < mMmTelFeatureListeners.size(); i++) {
+            MmTelFeatureListener l = mMmTelFeatureListeners.valueAt(i);
+            l.setSubId(getSubId(i));
+        }
+
+        for (int i = 0; i < mRcsFeatureListeners.size(); i++) {
+            RcsFeatureListener l = mRcsFeatureListeners.valueAt(i);
+            l.setSubId(getSubId(i));
+        }
+
+        if (mWrappers.size() == 0) return;
+
+        ArrayList<IBinder> inactiveCallbacks = new ArrayList<>();
+        final int[] activeSubs = mSubscriptionManager.getActiveSubscriptionIdList();
+
+        if (VDBG) logv("onSubChanged activeSubs=" + Arrays.toString(activeSubs));
+
+        // Remove callbacks for inactive subscriptions
+        for (IBinder binder : mWrappers.keySet()) {
+            CallbackWrapper wrapper = mWrappers.get(binder);
+            if (wrapper != null) {
+                if (!isActive(activeSubs, wrapper.mSubId)) {
+                    // inactive subscription
+                    inactiveCallbacks.add(binder);
+                }
+            } else {
+                // unexpected, remove it
+                inactiveCallbacks.add(binder);
+            }
+        }
+        removeInactiveCallbacks(inactiveCallbacks, "onSubChanged");
+    }
+
+    private void onFeatureStateChange(int subId, int feature, int state, int reason) {
+        if (VDBG) {
+            logv("onFeatureStateChange subId=" + subId
+                    + ", feature=" + ImsFeature.FEATURE_LOG_MAP.get(feature)
+                    + ", state=" + ImsFeature.STATE_LOG_MAP.get(state)
+                    + ", reason=" + imsStateReasonToString(reason));
+        }
+
+        ArrayList<IBinder> inactiveCallbacks = new ArrayList<>();
+        mWrappers.values().forEach(wrapper -> {
+            if (subId == wrapper.mSubId
+                    && feature == wrapper.mRequiredFeature
+                    && !wrapper.notifyState(subId, feature, state, reason)) {
+                // callback has exception, remove it
+                inactiveCallbacks.add(wrapper.mBinder);
+            }
+        });
+        removeInactiveCallbacks(inactiveCallbacks, "onFeatureStateChange");
+    }
+
+    private void onRegisterCallback(CallbackWrapper wrapper) {
+        if (wrapper == null) return;
+
+        if (VDBG) logv("onRegisterCallback before size=" + mWrappers.size());
+        if (VDBG) {
+            logv("onRegisterCallback subId=" + wrapper.mSubId
+                    + ", feature=" + wrapper.mRequiredFeature);
+        }
+
+        // Not sure the following case can happen or not:
+        // step1) Subscription changed
+        // step2) ImsStateCallbackController not processed onSubChanged yet
+        // step3) Client registers with a strange subId
+        // The validity of the subId is checked PhoneInterfaceManager#registerImsStateCallback.
+        // So, register the wrapper here before trying to notifyState.
+        // TODO: implement the recovery for this case, notifying the current reson, in onSubChanged
+        mWrappers.put(wrapper.mBinder, wrapper);
+
+        if (wrapper.mRequiredFeature == FEATURE_MMTEL) {
+            for (int i = 0; i < mMmTelFeatureListeners.size(); i++) {
+                if (wrapper.mSubId == getSubId(i)) {
+                    MmTelFeatureListener l = mMmTelFeatureListeners.valueAt(i);
+                    if (!l.notifyState(wrapper)) {
+                        mWrappers.remove(wrapper.mBinder);
+                    }
+                    break;
+                }
+            }
+        } else if (wrapper.mRequiredFeature == FEATURE_RCS) {
+            for (int i = 0; i < mRcsFeatureListeners.size(); i++) {
+                if (wrapper.mSubId == getSubId(i)) {
+                    RcsFeatureListener l = mRcsFeatureListeners.valueAt(i);
+                    if (!l.notifyState(wrapper)) {
+                        mWrappers.remove(wrapper.mBinder);
+                    }
+                    break;
+                }
+            }
+        }
+
+        if (VDBG) logv("onRegisterCallback after size=" + mWrappers.size());
+    }
+
+    private void onUnregisterCallback(IImsStateCallback cb) {
+        if (cb == null) return;
+        mWrappers.remove(cb.asBinder());
+    }
+
+    private void onCarrierConfigChanged(int slotId) {
+        if (slotId >= mNumSlots) {
+            logd("onCarrierConfigChanged invalid slotId "
+                    + slotId + ", mNumSlots=" + mNumSlots);
+            return;
+        }
+
+        logv("onCarrierConfigChanged slotId=" + slotId);
+
+        boolean hasConfig = verifyImsMmTelConfigured(slotId);
+        if (slotId < mMmTelFeatureListeners.size()) {
+            MmTelFeatureListener listener = mMmTelFeatureListeners.valueAt(slotId);
+            listener.notifyConfigChanged(hasConfig);
+        }
+
+        hasConfig = verifyImsRcsConfigured(slotId);
+        if (slotId < mRcsFeatureListeners.size()) {
+            RcsFeatureListener listener = mRcsFeatureListeners.valueAt(slotId);
+            listener.notifyConfigChanged(hasConfig);
+        }
+    }
+
+    private void onExternalRcsStateChanged(ExternalRcsFeatureState fs) {
+        logv("onExternalRcsStateChanged slotId=" + fs.mSlotId
+                + ", state=" + (fs.mState == STATE_UNKNOWN
+                        ? "" : ImsFeature.STATE_LOG_MAP.get(fs.mState))
+                + ", reason=" + imsStateReasonToString(fs.mReason));
+
+        RcsFeatureListener listener = mRcsFeatureListeners.get(fs.mSlotId);
+        if (listener != null) {
+            listener.notifyExternalRcsState(fs);
+        } else {
+            // unexpected state
+            loge("onExternalRcsStateChanged slotId=" + fs.mSlotId + ", no listener.");
+        }
+    }
+
+    /**
+     * Interface to be notified from TelephonyRcsSerice and RcsFeatureController
+     *
+     * @param ready true if feature's state is STATE_READY. Valid only when it is true.
+     * @param hasActiveFeatures true if the RcsFeatureController has active features.
+     */
+    public void notifyExternalRcsStateChanged(
+            int slotId, boolean ready, boolean hasActiveFeatures) {
+        int state = STATE_UNKNOWN;
+        int reason = REASON_IMS_SERVICE_DISCONNECTED;
+
+        if (ready) {
+            // From RcsFeatureController
+            state = STATE_READY;
+            reason = AVAILABLE;
+        } else if (!hasActiveFeatures) {
+            // From TelephonyRcsService
+            reason = REASON_NO_IMS_SERVICE_CONFIGURED;
+            state = STATE_UNAVAILABLE;
+        } else {
+            // From TelephonyRcsService
+            // TelephonyRcsService doesn't know the exact state of FeatureConnection.
+            // Only when there is no feature, we can assume the state.
+        }
+
+        if (VDBG) {
+            logv("notifyExternalRcsStateChanged slotId=" + slotId
+                    + ", ready=" + ready
+                    + ", hasActiveFeatures=" + hasActiveFeatures);
+        }
+
+        ExternalRcsFeatureState fs = new ExternalRcsFeatureState(slotId, state, reason);
+        mHandler.sendMessage(mHandler.obtainMessage(EVENT_EXTERNAL_RCS_STATE_CHANGED, fs));
+    }
+
+    /**
+     * Notifies carrier configuration has changed.
+     */
+    @VisibleForTesting
+    public void notifyCarrierConfigChanged(int slotId) {
+        if (VDBG) logv("notifyCarrierConfigChanged slotId=" + slotId);
+        mHandler.sendMessage(mHandler.obtainMessage(EVENT_CARRIER_CONFIG_CHANGED, slotId, 0));
+    }
+    /**
+     * Register IImsStateCallback
+     *
+     * @param feature for which state is changed, ImsFeature.FEATURE_*
+     */
+    public void registerImsStateCallback(int subId, int feature, IImsStateCallback cb,
+            String callingPackage) {
+        if (VDBG) {
+            logv("registerImsStateCallback subId=" + subId
+                    + ", feature=" + feature + ", pkg=" + callingPackage);
+        }
+
+        CallbackWrapper wrapper = new CallbackWrapper(subId, feature, cb, callingPackage);
+        mHandler.sendMessage(mHandler.obtainMessage(EVENT_REGISTER_CALLBACK, wrapper));
+    }
+
+    /**
+     * Unegister previously registered callback
+     */
+    public void unregisterImsStateCallback(IImsStateCallback cb) {
+        if (VDBG) logv("unregisterImsStateCallback");
+
+        mHandler.sendMessage(mHandler.obtainMessage(EVENT_UNREGISTER_CALLBACK, cb));
+    }
+
+    private void removeInactiveCallbacks(
+            ArrayList<IBinder> inactiveCallbacks, String message) {
+        if (inactiveCallbacks == null || inactiveCallbacks.size() == 0) return;
+
+        if (VDBG) {
+            logv("removeInactiveCallbacks size="
+                    + inactiveCallbacks.size() + " from " + message);
+        }
+
+        for (IBinder binder : inactiveCallbacks) {
+            CallbackWrapper wrapper = mWrappers.get(binder);
+            if (wrapper != null) {
+                // Send the reason REASON_SUBSCRIPTION_INACTIVE to the client
+                wrapper.notifyInactive();
+                mWrappers.remove(binder);
+            }
+        }
+        inactiveCallbacks.clear();
+    }
+
+    private int getSubId(int slotId) {
+        Phone phone = mPhoneFactoryProxy.getPhone(slotId);
+        if (phone != null) return phone.getSubId();
+        return SubscriptionManager.INVALID_SUBSCRIPTION_ID;
+    }
+
+    private static boolean isActive(final int[] activeSubs, int subId) {
+        for (int i : activeSubs) {
+            if (i == subId) return true;
+        }
+        return false;
+    }
+
+    private static int convertReasonType(int reason) {
+        switch(reason) {
+            case UNAVAILABLE_REASON_NOT_READY:
+                return REASON_IMS_SERVICE_NOT_READY;
+            case UNAVAILABLE_REASON_IMS_UNSUPPORTED:
+                return REASON_NO_IMS_SERVICE_CONFIGURED;
+            default:
+                break;
+        }
+
+        return REASON_IMS_SERVICE_DISCONNECTED;
+    }
+
+    private boolean verifyImsMmTelConfigured(int slotId) {
+        boolean ret = false;
+        if (mImsResolver == null) {
+            loge("verifyImsMmTelConfigured mImsResolver is null");
+        } else {
+            ret = mImsResolver.isImsServiceConfiguredForFeature(slotId, FEATURE_MMTEL);
+        }
+        if (VDBG) logv("verifyImsMmTelConfigured slotId=" + slotId + ", ret=" + ret);
+        return ret;
+    }
+
+    private boolean verifyImsRcsConfigured(int slotId) {
+        boolean ret = false;
+        if (mImsResolver == null) {
+            loge("verifyImsRcsConfigured mImsResolver is null");
+        } else {
+            ret = mImsResolver.isImsServiceConfiguredForFeature(slotId, FEATURE_RCS);
+        }
+        if (VDBG) logv("verifyImsRcsConfigured slotId=" + slotId + ", ret=" + ret);
+        return ret;
+    }
+
+    private static String connectorReasonToString(int reason) {
+        switch(reason) {
+            case UNAVAILABLE_REASON_DISCONNECTED:
+                return "DISCONNECTED";
+            case UNAVAILABLE_REASON_NOT_READY:
+                return "NOT_READY";
+            case UNAVAILABLE_REASON_IMS_UNSUPPORTED:
+                return "IMS_UNSUPPORTED";
+            case UNAVAILABLE_REASON_SERVER_UNAVAILABLE:
+                return "SERVER_UNAVAILABLE";
+            default:
+                break;
+        }
+        return "";
+    }
+
+    private static String imsStateReasonToString(int reason) {
+        switch(reason) {
+            case AVAILABLE:
+                return "READY";
+            case REASON_UNKNOWN_TEMPORARY_ERROR:
+                return "UNKNOWN_TEMPORARY_ERROR";
+            case REASON_UNKNOWN_PERMANENT_ERROR:
+                return "UNKNOWN_PERMANENT_ERROR";
+            case REASON_IMS_SERVICE_DISCONNECTED:
+                return "IMS_SERVICE_DISCONNECTED";
+            case REASON_NO_IMS_SERVICE_CONFIGURED:
+                return "NO_IMS_SERVICE_CONFIGURED";
+            case REASON_SUBSCRIPTION_INACTIVE:
+                return "SUBSCRIPTION_INACTIVE";
+            case REASON_IMS_SERVICE_NOT_READY:
+                return "IMS_SERVICE_NOT_READY";
+            default:
+                break;
+        }
+        return "";
+    }
+
+    /**
+     * PhoneFactory Dependencies for testing.
+     */
+    @VisibleForTesting
+    public interface PhoneFactoryProxy {
+        /**
+         * Override getPhone for testing.
+         */
+        Phone getPhone(int index);
+    }
+
+    private PhoneFactoryProxy mPhoneFactoryProxy = new PhoneFactoryProxy() {
+        @Override
+        public Phone getPhone(int index) {
+            return PhoneFactory.getPhone(index);
+        }
+    };
+
+    private void release() {
+        if (VDBG) logv("release");
+
+        mTelephonyRegistryManager.removeOnSubscriptionsChangedListener(mSubChangedListener);
+        mApp.unregisterReceiver(mReceiver);
+
+        for (int i = 0; i < mMmTelFeatureListeners.size(); i++) {
+            mMmTelFeatureListeners.valueAt(i).destroy();
+        }
+        mMmTelFeatureListeners.clear();
+
+        for (int i = 0; i < mRcsFeatureListeners.size(); i++) {
+            mRcsFeatureListeners.valueAt(i).destroy();
+        }
+        mRcsFeatureListeners.clear();
+    }
+
+    /**
+     * destroy the instance
+     */
+    @VisibleForTesting
+    public void destroy() {
+        if (VDBG) logv("destroy it");
+
+        release();
+        mHandler.getLooper().quit();
+    }
+
+    /**
+     * get the handler
+     */
+    @VisibleForTesting
+    public Handler getHandler() {
+        return mHandler;
+    }
+
+    /**
+     * Determine whether the callback is registered or not
+     */
+    @VisibleForTesting
+    public boolean isRegistered(IImsStateCallback cb) {
+        if (cb == null) return false;
+        return mWrappers.containsKey(cb.asBinder());
+    }
+
+    /**
+     * Dump this instance into a readable format for dumpsys usage.
+     */
+    public void dump(IndentingPrintWriter pw) {
+        pw.increaseIndent();
+        synchronized (mDumpLock) {
+            pw.println("CallbackWrappers:");
+            pw.increaseIndent();
+            mWrappers.values().forEach(wrapper -> wrapper.dump(pw));
+            pw.decreaseIndent();
+            pw.println("MmTelFeatureListeners:");
+            pw.increaseIndent();
+            for (int i = 0; i < mNumSlots; i++) {
+                MmTelFeatureListener l = mMmTelFeatureListeners.get(i);
+                if (l == null) continue;
+                l.dump(pw);
+            }
+            pw.decreaseIndent();
+            pw.println("RcsFeatureListeners:");
+            pw.increaseIndent();
+            for (int i = 0; i < mNumSlots; i++) {
+                RcsFeatureListener l = mRcsFeatureListeners.get(i);
+                if (l == null) continue;
+                l.dump(pw);
+            }
+            pw.decreaseIndent();
+            pw.println("Most recent logs:");
+            pw.increaseIndent();
+            sLocalLog.dump(pw);
+            pw.decreaseIndent();
+        }
+        pw.decreaseIndent();
+    }
+
+    private static void logv(String msg) {
+        Rlog.d(TAG, msg);
+    }
+
+    private static void logd(String msg) {
+        Rlog.d(TAG, msg);
+        sLocalLog.log(msg);
+    }
+
+    private static void loge(String msg) {
+        Rlog.e(TAG, msg);
+        sLocalLog.log(msg);
+    }
+}
diff --git a/src/com/android/phone/NotificationMgr.java b/src/com/android/phone/NotificationMgr.java
index fb45f4c..f2641a1 100644
--- a/src/com/android/phone/NotificationMgr.java
+++ b/src/com/android/phone/NotificationMgr.java
@@ -567,8 +567,6 @@
 
             Intent intent = new Intent(TelecomManager.ACTION_SHOW_CALL_SETTINGS);
             intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP);
-            intent.setPackage(mContext.getResources().getString(
-                    R.string.call_settings_package_name));
             SubscriptionInfoHelper.addExtrasToIntent(
                     intent, mSubscriptionManager.getActiveSubscriptionInfo(subId));
             builder.setContentIntent(PendingIntent.getActivity(mContext, subId /* requestCode */,
diff --git a/src/com/android/phone/PhoneDisplayMessage.java b/src/com/android/phone/PhoneDisplayMessage.java
index 199fbb8..be7fc7f 100644
--- a/src/com/android/phone/PhoneDisplayMessage.java
+++ b/src/com/android/phone/PhoneDisplayMessage.java
@@ -68,7 +68,7 @@
         // displaying system alert dialog on the screen instead of
         // using another activity to display the message.  This
         // places the message at the forefront of the UI.
-        sDisplayMessageDialog = new AlertDialog.Builder(context)
+        sDisplayMessageDialog = FrameworksUtils.makeAlertDialogBuilder(context)
                 .setIcon(android.R.drawable.ic_dialog_info)
                 .setTitle(title)
                 .setMessage(msg)
diff --git a/src/com/android/phone/PhoneGlobals.java b/src/com/android/phone/PhoneGlobals.java
index 2535365..99e73ff 100644
--- a/src/com/android/phone/PhoneGlobals.java
+++ b/src/com/android/phone/PhoneGlobals.java
@@ -31,15 +31,12 @@
 import android.media.AudioManager;
 import android.net.ConnectivityManager;
 import android.net.Uri;
-import android.net.sip.SipManager;
 import android.os.AsyncResult;
-import android.os.Bundle;
 import android.os.Handler;
 import android.os.Message;
 import android.os.PersistableBundle;
 import android.os.PowerManager;
 import android.os.SystemProperties;
-import android.os.UserManager;
 import android.preference.PreferenceManager;
 import android.provider.Settings;
 import android.sysprop.TelephonyProperties;
@@ -49,6 +46,7 @@
 import android.telephony.ServiceState;
 import android.telephony.SubscriptionInfo;
 import android.telephony.SubscriptionManager;
+import android.telephony.TelephonyCallback;
 import android.telephony.TelephonyLocalConnection;
 import android.telephony.TelephonyManager;
 import android.telephony.data.ApnSetting;
@@ -62,25 +60,25 @@
 import com.android.internal.telephony.IccCardConstants;
 import com.android.internal.telephony.MmiCode;
 import com.android.internal.telephony.Phone;
+import com.android.internal.telephony.PhoneConfigurationManager;
 import com.android.internal.telephony.PhoneConstants;
 import com.android.internal.telephony.PhoneFactory;
 import com.android.internal.telephony.SettingsObserver;
 import com.android.internal.telephony.TelephonyCapabilities;
 import com.android.internal.telephony.TelephonyComponentFactory;
 import com.android.internal.telephony.TelephonyIntents;
+import com.android.internal.telephony.data.DataEvaluation.DataDisallowedReason;
 import com.android.internal.telephony.dataconnection.DataConnectionReasons;
 import com.android.internal.telephony.dataconnection.DataConnectionReasons.DataDisallowedReasonType;
 import com.android.internal.telephony.ims.ImsResolver;
 import com.android.internal.telephony.imsphone.ImsPhone;
 import com.android.internal.telephony.imsphone.ImsPhoneCallTracker;
-import com.android.internal.telephony.uicc.UiccCard;
+import com.android.internal.telephony.uicc.UiccPort;
 import com.android.internal.telephony.uicc.UiccProfile;
 import com.android.internal.util.IndentingPrintWriter;
 import com.android.phone.settings.SettingsConstants;
 import com.android.phone.vvm.CarrierVvmPackageInstalledReceiver;
 import com.android.services.telephony.rcs.TelephonyRcsService;
-import com.android.services.telephony.sip.SipAccountRegistry;
-import com.android.services.telephony.sip.SipUtil;
 
 import java.io.FileDescriptor;
 import java.io.PrintWriter;
@@ -124,10 +122,10 @@
     private static final int EVENT_DATA_ROAMING_CONNECTED = 11;
     private static final int EVENT_DATA_ROAMING_OK = 12;
     private static final int EVENT_UNSOL_CDMA_INFO_RECORD = 13;
-    private static final int EVENT_RESTART_SIP = 14;
     private static final int EVENT_DATA_ROAMING_SETTINGS_CHANGED = 15;
     private static final int EVENT_MOBILE_DATA_SETTINGS_CHANGED = 16;
     private static final int EVENT_CARRIER_CONFIG_CHANGED = 17;
+    private static final int EVENT_MULTI_SIM_CONFIG_CHANGED = 18;
 
     // The MMI codes are also used by the InCallScreen.
     public static final int MMI_INITIATE = 51;
@@ -155,11 +153,12 @@
 
     CallManager mCM;
     CallNotifier notifier;
-    CallerInfoCache callerInfoCache;
     NotificationMgr notificationMgr;
     TelephonyRcsService mTelephonyRcsService;
     public PhoneInterfaceManager phoneMgr;
     public ImsRcsController imsRcsController;
+    public ImsStateCallbackController mImsStateCallbackController;
+    public ImsProvisioningController mImsProvisioningController;
     CarrierConfigLoader configLoader;
 
     private Phone phoneInEcm;
@@ -204,8 +203,6 @@
 
     // Broadcast receiver for various intent broadcasts (see onCreate())
     private final BroadcastReceiver mReceiver = new PhoneAppBroadcastReceiver();
-    // Broadcast receiver for SIP based intents (see onCreate())
-    private final SipReceiver mSipReceiver = new SipReceiver();
 
     private final CarrierVvmPackageInstalledReceiver mCarrierVvmPackageInstalledReceiver =
             new CarrierVvmPackageInstalledReceiver();
@@ -213,6 +210,30 @@
     private final SettingsObserver mSettingsObserver;
     private BinderCallsStats.SettingsObserver mBinderCallsSettingsObserver;
 
+    // Mapping of phone ID to the associated TelephonyCallback. These should be registered without
+    // fine or coarse location since we only use ServiceState for
+    private PhoneAppCallback[] mTelephonyCallbacks;
+
+    private class PhoneAppCallback extends TelephonyCallback implements
+            TelephonyCallback.ServiceStateListener {
+        private final int mSubId;
+
+        PhoneAppCallback(int subId) {
+            mSubId = subId;
+        }
+
+        @Override
+        public void onServiceStateChanged(ServiceState serviceState) {
+            // Note when registering that we should be registering with INCLUDE_LOCATION_DATA_NONE.
+            // PhoneGlobals only uses the state and roaming status, which does not require location.
+            handleServiceStateChanged(serviceState, mSubId);
+        }
+
+        public int getSubId() {
+            return mSubId;
+        }
+    }
+
     private static class EventSimStateChangedBag {
         final int mPhoneId;
         final String mIccStatus;
@@ -242,13 +263,13 @@
 
         // if passed in subType is unknown, retrieve it here.
         if (subType == -1) {
-            final UiccCard uiccCard = phone.getUiccCard();
-            if (uiccCard == null) {
+            final UiccPort uiccPort = phone.getUiccPort();
+            if (uiccPort == null) {
                 Log.e(LOG_TAG,
-                        "handleSimLock: uiccCard for phone " + phone.getPhoneId() + " is null");
+                        "handleSimLock: uiccPort for phone " + phone.getPhoneId() + " is null");
                 return;
             }
-            final UiccProfile uiccProfile = uiccCard.getUiccProfile();
+            final UiccProfile uiccProfile = uiccPort.getUiccProfile();
             if (uiccProfile == null) {
                 Log.e(LOG_TAG,
                         "handleSimLock: uiccProfile for phone " + phone.getPhoneId() + " is null");
@@ -334,17 +355,6 @@
                 case EVENT_UNSOL_CDMA_INFO_RECORD:
                     //TODO: handle message here;
                     break;
-                case EVENT_RESTART_SIP:
-                    // This should only run if the Phone process crashed and was restarted. We do
-                    // not want this running if the device is still in the FBE encrypted state.
-                    // This is the same procedure that is triggered in the SipIncomingCallReceiver
-                    // upon BOOT_COMPLETED.
-                    UserManager userManager =
-                            (UserManager) sMe.getSystemService(Context.USER_SERVICE);
-                    if (userManager != null && userManager.isUserUnlocked()) {
-                        SipUtil.startSipService();
-                    }
-                    break;
                 case EVENT_DATA_ROAMING_SETTINGS_CHANGED:
                 case EVENT_MOBILE_DATA_SETTINGS_CHANGED:
                     updateDataRoamingStatus();
@@ -355,10 +365,44 @@
                     // refresh the message waiting (voicemail) indicator.
                     refreshMwiIndicator(subId);
                     phone = getPhone(subId);
-                    if (phone != null && isSimLocked(phone)) {
-                        // pass in subType=-1 so handleSimLock can find the actual subType if
-                        // needed. This is safe as valid values for subType are >= 0
-                        handleSimLock(-1, phone);
+                    if (phone != null) {
+                        if (isSimLocked(phone)) {
+                            // pass in subType=-1 so handleSimLock can find the actual subType if
+                            // needed. This is safe as valid values for subType are >= 0
+                            handleSimLock(-1, phone);
+                        }
+                        TelephonyManager tm = getSystemService(TelephonyManager.class);
+                        PhoneAppCallback callback = mTelephonyCallbacks[phone.getPhoneId()];
+                        // TODO: We may need to figure out a way to unregister if subId is invalid
+                        tm.createForSubscriptionId(callback.getSubId())
+                                .unregisterTelephonyCallback(callback);
+                        callback = new PhoneAppCallback(subId);
+                        tm.createForSubscriptionId(subId).registerTelephonyCallback(
+                                TelephonyManager.INCLUDE_LOCATION_DATA_NONE, mHandler::post,
+                                callback);
+                        mTelephonyCallbacks[phone.getPhoneId()] = callback;
+                    }
+                    break;
+                case EVENT_MULTI_SIM_CONFIG_CHANGED:
+                    int activeModems = (int) ((AsyncResult) msg.obj).result;
+                    TelephonyManager tm = getSystemService(TelephonyManager.class);
+                    // Unregister all previous callbacks
+                    for (int phoneId = 0; phoneId < mTelephonyCallbacks.length; phoneId++) {
+                        PhoneAppCallback callback = mTelephonyCallbacks[phoneId];
+                        if (callback != null) {
+                            tm.createForSubscriptionId(callback.getSubId())
+                                    .unregisterTelephonyCallback(callback);
+                            mTelephonyCallbacks[phoneId] = null;
+                        }
+                    }
+                    // Register callbacks for all active modems
+                    for (int phoneId = 0; phoneId < activeModems; phoneId++) {
+                        int sub = PhoneFactory.getPhone(phoneId).getSubId();
+                        PhoneAppCallback callback = new PhoneAppCallback(sub);
+                        tm.createForSubscriptionId(sub).registerTelephonyCallback(
+                                TelephonyManager.INCLUDE_LOCATION_DATA_NONE, mHandler::post,
+                                callback);
+                        mTelephonyCallbacks[phoneId] = callback;
                     }
                     break;
             }
@@ -379,11 +423,11 @@
         // Initialize the shim from frameworks/opt/telephony into packages/services/Telephony.
         TelephonyLocalConnection.setInstance(new LocalConnectionImpl(this));
 
+        TelephonyManager tm = getSystemService(TelephonyManager.class);
         // Cache the "voice capable" flag.
         // This flag currently comes from a resource (which is
         // overrideable on a per-product basis):
-        sVoiceCapable = ((TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE))
-                .isVoiceCapable();
+        sVoiceCapable = tm.isVoiceCapable();
         // ...but this might eventually become a PackageManager "system
         // feature" instead, in which case we'd do something like:
         // sVoiceCapable =
@@ -442,9 +486,6 @@
             // status bar icons and control other status bar behavior.
             notificationMgr = NotificationMgr.init(this);
 
-            // If PhoneGlobals has crashed and is being restarted, then restart.
-            mHandler.sendEmptyMessage(EVENT_RESTART_SIP);
-
             // Create an instance of CdmaPhoneCallState and initialize it to IDLE
             cdmaPhoneCallState = new CdmaPhoneCallState();
             cdmaPhoneCallState.CdmaPhoneCallStateInit();
@@ -458,21 +499,19 @@
 
             mKeyguardManager = (KeyguardManager) getSystemService(Context.KEYGUARD_SERVICE);
 
-            // Create the CallerInfoCache singleton, which remembers custom ring tone and
-            // send-to-voicemail settings.
-            //
-            // The asynchronous caching will start just after this call.
-            callerInfoCache = CallerInfoCache.init(this);
-
             phoneMgr = PhoneInterfaceManager.init(this);
 
             imsRcsController = ImsRcsController.init(this);
 
             if (getPackageManager().hasSystemFeature(PackageManager.FEATURE_TELEPHONY_IMS)) {
+                mImsStateCallbackController =
+                        ImsStateCallbackController.make(this, PhoneFactory.getPhones().length);
                 mTelephonyRcsService = new TelephonyRcsService(this,
                         PhoneFactory.getPhones().length);
                 mTelephonyRcsService.initialize();
                 imsRcsController.setRcsService(mTelephonyRcsService);
+                mImsProvisioningController =
+                        ImsProvisioningController.make(this, PhoneFactory.getPhones().length);
             }
 
             configLoader = CarrierConfigLoader.init(this);
@@ -489,25 +528,35 @@
             mCM.registerForMmiComplete(mHandler, MMI_COMPLETE, null);
 
             // Initialize cell status using current airplane mode.
-            handleAirplaneModeChange(this, Settings.Global.getInt(getContentResolver(),
-                    Settings.Global.AIRPLANE_MODE_ON, AIRPLANE_OFF));
+            handleAirplaneModeChange(
+                    Settings.Global.getInt(
+                                    getContentResolver(),
+                                    Settings.Global.AIRPLANE_MODE_ON,
+                                    AIRPLANE_OFF)
+                            == AIRPLANE_ON);
 
             // Register for misc other intent broadcasts.
             IntentFilter intentFilter =
                     new IntentFilter(Intent.ACTION_AIRPLANE_MODE_CHANGED);
             intentFilter.addAction(TelephonyIntents.ACTION_SIM_STATE_CHANGED);
             intentFilter.addAction(TelephonyIntents.ACTION_RADIO_TECHNOLOGY_CHANGED);
-            intentFilter.addAction(TelephonyIntents.ACTION_SERVICE_STATE_CHANGED);
             intentFilter.addAction(TelephonyIntents.ACTION_EMERGENCY_CALLBACK_MODE_CHANGED);
             intentFilter.addAction(TelephonyIntents.ACTION_DEFAULT_DATA_SUBSCRIPTION_CHANGED);
             intentFilter.addAction(CarrierConfigManager.ACTION_CARRIER_CONFIG_CHANGED);
             registerReceiver(mReceiver, intentFilter);
 
-            IntentFilter sipIntentFilter = new IntentFilter(Intent.ACTION_BOOT_COMPLETED);
-            sipIntentFilter.addAction(SipManager.ACTION_SIP_SERVICE_UP);
-            sipIntentFilter.addAction(SipManager.ACTION_SIP_CALL_OPTION_CHANGED);
-            sipIntentFilter.addAction(SipManager.ACTION_SIP_REMOVE_PROFILE);
-            registerReceiver(mSipReceiver, sipIntentFilter);
+            PhoneConfigurationManager.registerForMultiSimConfigChange(
+                    mHandler, EVENT_MULTI_SIM_CONFIG_CHANGED, null);
+
+            mTelephonyCallbacks = new PhoneAppCallback[tm.getSupportedModemCount()];
+
+            for (Phone phone : PhoneFactory.getPhones()) {
+                int subId = phone.getSubId();
+                PhoneAppCallback callback = new PhoneAppCallback(subId);
+                tm.createForSubscriptionId(subId).registerTelephonyCallback(
+                        TelephonyManager.INCLUDE_LOCATION_DATA_NONE, mHandler::post, callback);
+                mTelephonyCallbacks[phone.getPhoneId()] = callback;
+            }
 
             mCarrierVvmPackageInstalledReceiver.register(this);
 
@@ -649,20 +698,20 @@
         notifier.updateCallNotifierRegistrationsAfterRadioTechnologyChange();
     }
 
-    private void handleAirplaneModeChange(Context context, int newMode) {
-        int cellState = Settings.Global.getInt(context.getContentResolver(),
-                Settings.Global.CELL_ON, PhoneConstants.CELL_ON_FLAG);
-        boolean isAirplaneNewlyOn = (newMode == 1);
+    private void handleAirplaneModeChange(boolean isAirplaneNewlyOn) {
+        int cellState =
+                Settings.Global.getInt(
+                        getContentResolver(), Settings.Global.CELL_ON, PhoneConstants.CELL_ON_FLAG);
         switch (cellState) {
             case PhoneConstants.CELL_OFF_FLAG:
                 // Airplane mode does not affect the cell radio if user
                 // has turned it off.
                 break;
             case PhoneConstants.CELL_ON_FLAG:
-                maybeTurnCellOff(context, isAirplaneNewlyOn);
+                maybeTurnCellOff(isAirplaneNewlyOn);
                 break;
             case PhoneConstants.CELL_OFF_DUE_TO_AIRPLANE_MODE_FLAG:
-                maybeTurnCellOn(context, isAirplaneNewlyOn);
+                maybeTurnCellOn(isAirplaneNewlyOn);
                 break;
         }
         for (Phone phone : PhoneFactory.getPhones()) {
@@ -673,57 +722,59 @@
     /*
      * Returns true if the radio must be turned off when entering airplane mode.
      */
-    private boolean isCellOffInAirplaneMode(Context context) {
-        String airplaneModeRadios = Settings.Global.getString(context.getContentResolver(),
-                Settings.Global.AIRPLANE_MODE_RADIOS);
+    private boolean isCellOffInAirplaneMode() {
+        String airplaneModeRadios =
+                Settings.Global.getString(
+                        getContentResolver(), Settings.Global.AIRPLANE_MODE_RADIOS);
         return airplaneModeRadios == null
                 || airplaneModeRadios.contains(Settings.Global.RADIO_CELL);
     }
 
-    private void setRadioPowerOff(Context context) {
+    private void setRadioPowerOff() {
         Log.i(LOG_TAG, "Turning radio off - airplane");
-        Settings.Global.putInt(context.getContentResolver(), Settings.Global.CELL_ON,
-                 PhoneConstants.CELL_OFF_DUE_TO_AIRPLANE_MODE_FLAG);
-        TelephonyProperties.airplane_mode_on(true); // true means int value 1
+        Settings.Global.putInt(
+                getContentResolver(),
+                Settings.Global.CELL_ON,
+                PhoneConstants.CELL_OFF_DUE_TO_AIRPLANE_MODE_FLAG);
         Settings.Global.putInt(getContentResolver(), Settings.Global.ENABLE_CELLULAR_ON_BOOT, 0);
+        TelephonyProperties.airplane_mode_on(true); // true means int value 1
         PhoneUtils.setRadioPower(false);
     }
 
-    private void setRadioPowerOn(Context context) {
+    private void setRadioPowerOn() {
         Log.i(LOG_TAG, "Turning radio on - airplane");
-        Settings.Global.putInt(context.getContentResolver(), Settings.Global.CELL_ON,
-                PhoneConstants.CELL_ON_FLAG);
-        Settings.Global.putInt(getContentResolver(), Settings.Global.ENABLE_CELLULAR_ON_BOOT,
-                1);
+        Settings.Global.putInt(
+                getContentResolver(), Settings.Global.CELL_ON, PhoneConstants.CELL_ON_FLAG);
+        Settings.Global.putInt(getContentResolver(), Settings.Global.ENABLE_CELLULAR_ON_BOOT, 1);
         TelephonyProperties.airplane_mode_on(false); // false means int value 0
         PhoneUtils.setRadioPower(true);
     }
 
-    private void maybeTurnCellOff(Context context, boolean isAirplaneNewlyOn) {
+    private void maybeTurnCellOff(boolean isAirplaneNewlyOn) {
         if (isAirplaneNewlyOn) {
             // If we are trying to turn off the radio, make sure there are no active
             // emergency calls.  If there are, switch airplane mode back to off.
-            TelecomManager tm = (TelecomManager) context.getSystemService(TELECOM_SERVICE);
+            TelecomManager tm = (TelecomManager) getSystemService(TELECOM_SERVICE);
 
             if (tm != null && tm.isInEmergencyCall()) {
                 // Switch airplane mode back to off.
                 ConnectivityManager cm =
-                        (ConnectivityManager) context.getSystemService(CONNECTIVITY_SERVICE);
+                        (ConnectivityManager) getSystemService(CONNECTIVITY_SERVICE);
                 cm.setAirplaneMode(false);
                 Toast.makeText(this, R.string.radio_off_during_emergency_call, Toast.LENGTH_LONG)
                         .show();
                 Log.i(LOG_TAG, "Ignoring airplane mode: emergency call. Turning airplane off");
-            } else if (isCellOffInAirplaneMode(context)) {
-                setRadioPowerOff(context);
+            } else if (isCellOffInAirplaneMode()) {
+                setRadioPowerOff();
             } else {
                 Log.i(LOG_TAG, "Ignoring airplane mode: settings prevent cell radio power off");
             }
         }
     }
 
-    private void maybeTurnCellOn(Context context, boolean isAirplaneNewlyOn) {
+    private void maybeTurnCellOn(boolean isAirplaneNewlyOn) {
         if (!isAirplaneNewlyOn) {
-            setRadioPowerOn(context);
+            setRadioPowerOn();
         }
     }
 
@@ -735,13 +786,8 @@
         public void onReceive(Context context, Intent intent) {
             String action = intent.getAction();
             if (action.equals(Intent.ACTION_AIRPLANE_MODE_CHANGED)) {
-                int airplaneMode = Settings.Global.getInt(getContentResolver(),
-                        Settings.Global.AIRPLANE_MODE_ON, AIRPLANE_OFF);
-                // Treat any non-OFF values as ON.
-                if (airplaneMode != AIRPLANE_OFF) {
-                    airplaneMode = AIRPLANE_ON;
-                }
-                handleAirplaneModeChange(context, airplaneMode);
+                boolean airplaneMode = intent.getBooleanExtra("state", false);
+                handleAirplaneModeChange(airplaneMode);
             } else if (action.equals(TelephonyIntents.ACTION_SIM_STATE_CHANGED)) {
                 // re-register as it may be a new IccCard
                 int phoneId = intent.getIntExtra(PhoneConstants.PHONE_KEY,
@@ -757,8 +803,6 @@
                 String newPhone = intent.getStringExtra(PhoneConstants.PHONE_NAME_KEY);
                 Log.d(LOG_TAG, "Radio technology switched. Now " + newPhone + " is active.");
                 initForNewRadioTechnology();
-            } else if (action.equals(TelephonyIntents.ACTION_SERVICE_STATE_CHANGED)) {
-                handleServiceStateChanged(intent);
             } else if (action.equals(TelephonyIntents.ACTION_EMERGENCY_CALLBACK_MODE_CHANGED)) {
                 int phoneId = intent.getIntExtra(PhoneConstants.PHONE_KEY, 0);
                 phoneInEcm = PhoneFactory.getPhone(phoneId);
@@ -808,58 +852,17 @@
         }
     }
 
-    private class SipReceiver extends BroadcastReceiver {
-
-        @Override
-        public void onReceive(Context context, Intent intent) {
-            String action = intent.getAction();
-
-            SipAccountRegistry sipAccountRegistry = SipAccountRegistry.getInstance();
-            if (action.equals(Intent.ACTION_BOOT_COMPLETED)) {
-                SipUtil.startSipService();
-            } else if (action.equals(SipManager.ACTION_SIP_SERVICE_UP)
-                    || action.equals(SipManager.ACTION_SIP_CALL_OPTION_CHANGED)) {
-                sipAccountRegistry.setup(context);
-            } else if (action.equals(SipManager.ACTION_SIP_REMOVE_PROFILE)) {
-                if (DBG) {
-                    Log.d(LOG_TAG, "SIP_REMOVE_PHONE "
-                            + intent.getStringExtra(SipManager.EXTRA_LOCAL_URI));
-                }
-                sipAccountRegistry.removeSipProfile(intent.getStringExtra(
-                        SipManager.EXTRA_LOCAL_URI));
-            } else {
-                if (DBG) Log.d(LOG_TAG, "onReceive, action not processed: " + action);
-            }
-        }
-    }
-
-    private void handleServiceStateChanged(Intent intent) {
-        /**
-         * This used to handle updating EriTextWidgetProvider this routine
-         * and and listening for ACTION_SERVICE_STATE_CHANGED intents could
-         * be removed. But leaving just in case it might be needed in the near
-         * future.
-         */
-
+    private void handleServiceStateChanged(ServiceState serviceState, int subId) {
         if (VDBG) Log.v(LOG_TAG, "handleServiceStateChanged");
-        // If service just returned, start sending out the queued messages
-        Bundle extras = intent.getExtras();
-        if (extras != null) {
-            ServiceState ss = ServiceState.newFromBundle(extras);
-            if (ss != null) {
-                int state = ss.getState();
-                int subId = intent.getIntExtra(PhoneConstants.SUBSCRIPTION_KEY,
-                        SubscriptionManager.INVALID_SUBSCRIPTION_ID);
-                notificationMgr.updateNetworkSelection(state, subId);
+        int state = serviceState.getState();
+        notificationMgr.updateNetworkSelection(state, subId);
 
-                if (VDBG) {
-                    Log.v(LOG_TAG, "subId=" + subId + ",mDefaultDataSubId="
-                            + mDefaultDataSubId + ",ss roaming=" + ss.getDataRoaming());
-                }
-                if (subId == mDefaultDataSubId) {
-                    updateDataRoamingStatus();
-                }
-            }
+        if (VDBG) {
+            Log.v(LOG_TAG, "subId=" + subId + ", mDefaultDataSubId="
+                    + mDefaultDataSubId + ", ss roaming=" + serviceState.getDataRoaming());
+        }
+        if (subId == mDefaultDataSubId) {
+            updateDataRoamingStatus();
         }
     }
 
@@ -886,11 +889,26 @@
             return;
         }
 
-        DataConnectionReasons reasons = new DataConnectionReasons();
-        boolean dataAllowed = phone.isDataAllowed(ApnSetting.TYPE_DEFAULT, reasons);
-        mDataRoamingNotifLog.log("dataAllowed=" + dataAllowed + ", reasons=" + reasons);
-        if (VDBG) Log.v(LOG_TAG, "dataAllowed=" + dataAllowed + ", reasons=" + reasons);
-        if (!dataAllowed && reasons.containsOnly(DataDisallowedReasonType.ROAMING_DISABLED)) {
+        boolean dataAllowed;
+        boolean notAllowedDueToRoamingOff;
+        if (phone.isUsingNewDataStack()) {
+            List<DataDisallowedReason> reasons = phone.getDataNetworkController()
+                    .getInternetDataDisallowedReasons();
+            dataAllowed = reasons.isEmpty();
+            notAllowedDueToRoamingOff = (reasons.size() == 1
+                    && reasons.contains(DataDisallowedReason.ROAMING_DISABLED));
+            mDataRoamingNotifLog.log("dataAllowed=" + dataAllowed + ", reasons=" + reasons);
+            if (VDBG) Log.v(LOG_TAG, "dataAllowed=" + dataAllowed + ", reasons=" + reasons);
+        } else {
+            DataConnectionReasons reasons = new DataConnectionReasons();
+            dataAllowed = phone.isDataAllowed(ApnSetting.TYPE_DEFAULT, reasons);
+            notAllowedDueToRoamingOff = reasons.containsOnly(
+                    DataDisallowedReasonType.ROAMING_DISABLED);
+            mDataRoamingNotifLog.log("dataAllowed=" + dataAllowed + ", reasons=" + reasons);
+            if (VDBG) Log.v(LOG_TAG, "dataAllowed=" + dataAllowed + ", reasons=" + reasons);
+        }
+
+        if (!dataAllowed && notAllowedDueToRoamingOff) {
             // No need to show it again if we never cancelled it explicitly.
             if (mPrevRoamingNotification == ROAMING_NOTIFICATION_DISCONNECTED) return;
             // If the only reason of no data is data roaming disabled, then we notify the user
@@ -918,7 +936,7 @@
             // showed earlier.
             mPrevRoamingNotification = ROAMING_NOTIFICATION_NO_NOTIFICATION;
             Log.d(LOG_TAG, "Dismiss roaming notification");
-            mDataRoamingNotifLog.log("Hide. data allowed=" + dataAllowed + ", reasons=" + reasons);
+            mDataRoamingNotifLog.log("Hide. data allowed=" + dataAllowed);
             mHandler.sendEmptyMessage(EVENT_DATA_ROAMING_OK);
         }
     }
@@ -1040,6 +1058,12 @@
         } catch (Exception e) {
             e.printStackTrace();
         }
+        pw.println("ImsStateCallbackController:");
+        try {
+            if (mImsStateCallbackController != null) mImsStateCallbackController.dump(pw);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
         pw.decreaseIndent();
         pw.println("------- End PhoneGlobals -------");
     }
diff --git a/src/com/android/phone/PhoneInterfaceManager.java b/src/com/android/phone/PhoneInterfaceManager.java
index 388038b..66cef64 100755
--- a/src/com/android/phone/PhoneInterfaceManager.java
+++ b/src/com/android/phone/PhoneInterfaceManager.java
@@ -28,17 +28,20 @@
 import android.Manifest.permission;
 import android.annotation.NonNull;
 import android.annotation.Nullable;
+import android.annotation.RequiresPermission;
 import android.app.AppOpsManager;
 import android.app.PendingIntent;
+import android.app.PropertyInvalidatedCache;
 import android.app.compat.CompatChanges;
 import android.app.role.RoleManager;
+import android.compat.annotation.ChangeId;
+import android.compat.annotation.EnabledSince;
 import android.content.ComponentName;
 import android.content.ContentResolver;
 import android.content.Context;
 import android.content.Intent;
 import android.content.SharedPreferences;
 import android.content.pm.ComponentInfo;
-import android.content.pm.PackageInfo;
 import android.content.pm.PackageManager;
 import android.net.Uri;
 import android.os.AsyncResult;
@@ -69,7 +72,10 @@
 import android.telecom.PhoneAccount;
 import android.telecom.PhoneAccountHandle;
 import android.telecom.TelecomManager;
+import android.telephony.AccessNetworkConstants;
+import android.telephony.ActivityStatsTechSpecificInfo;
 import android.telephony.Annotation.ApnType;
+import android.telephony.Annotation.DataActivityType;
 import android.telephony.Annotation.ThermalMitigationResult;
 import android.telephony.CallForwardingInfo;
 import android.telephony.CarrierConfigManager;
@@ -104,12 +110,12 @@
 import android.telephony.TelephonyManager;
 import android.telephony.TelephonyScanManager;
 import android.telephony.ThermalMitigationRequest;
-import android.telephony.UiccAccessRule;
 import android.telephony.UiccCardInfo;
+import android.telephony.UiccPortInfo;
 import android.telephony.UiccSlotInfo;
+import android.telephony.UiccSlotMapping;
 import android.telephony.UssdResponse;
 import android.telephony.VisualVoicemailSmsFilterSettings;
-import android.telephony.data.ApnSetting;
 import android.telephony.data.NetworkSlicingConfig;
 import android.telephony.emergency.EmergencyNumber;
 import android.telephony.gba.GbaAuthRequest;
@@ -119,6 +125,7 @@
 import android.telephony.ims.RcsClientConfiguration;
 import android.telephony.ims.RcsContactUceCapability;
 import android.telephony.ims.RegistrationManager;
+import android.telephony.ims.aidl.IFeatureProvisioningCallback;
 import android.telephony.ims.aidl.IImsCapabilityCallback;
 import android.telephony.ims.aidl.IImsConfig;
 import android.telephony.ims.aidl.IImsConfigCallback;
@@ -126,8 +133,6 @@
 import android.telephony.ims.aidl.IImsRegistrationCallback;
 import android.telephony.ims.aidl.IRcsConfigCallback;
 import android.telephony.ims.feature.ImsFeature;
-import android.telephony.ims.feature.MmTelFeature;
-import android.telephony.ims.feature.RcsFeature;
 import android.telephony.ims.stub.ImsConfigImplBase;
 import android.telephony.ims.stub.ImsRegistrationImplBase;
 import android.text.TextUtils;
@@ -144,20 +149,22 @@
 import com.android.internal.telephony.CallManager;
 import com.android.internal.telephony.CallStateException;
 import com.android.internal.telephony.CallTracker;
+import com.android.internal.telephony.CarrierPrivilegesTracker;
 import com.android.internal.telephony.CarrierResolver;
 import com.android.internal.telephony.CellNetworkScanResult;
 import com.android.internal.telephony.CommandException;
 import com.android.internal.telephony.CommandsInterface;
-import com.android.internal.telephony.DefaultPhoneNotifier;
 import com.android.internal.telephony.GbaManager;
 import com.android.internal.telephony.GsmCdmaPhone;
 import com.android.internal.telephony.HalVersion;
 import com.android.internal.telephony.IBooleanConsumer;
 import com.android.internal.telephony.ICallForwardingInfoCallback;
+import com.android.internal.telephony.IImsStateCallback;
 import com.android.internal.telephony.IIntegerConsumer;
 import com.android.internal.telephony.INumberVerificationCallback;
 import com.android.internal.telephony.ITelephony;
 import com.android.internal.telephony.IccCard;
+import com.android.internal.telephony.IccLogicalChannelRequest;
 import com.android.internal.telephony.LocaleTracker;
 import com.android.internal.telephony.NetworkScanRequestTracker;
 import com.android.internal.telephony.OperatorInfo;
@@ -176,6 +183,7 @@
 import com.android.internal.telephony.SubscriptionController;
 import com.android.internal.telephony.TelephonyIntents;
 import com.android.internal.telephony.TelephonyPermissions;
+import com.android.internal.telephony.data.DataUtils;
 import com.android.internal.telephony.dataconnection.ApnSettingUtils;
 import com.android.internal.telephony.emergency.EmergencyNumberTracker;
 import com.android.internal.telephony.euicc.EuiccConnector;
@@ -186,12 +194,12 @@
 import com.android.internal.telephony.metrics.TelephonyMetrics;
 import com.android.internal.telephony.uicc.IccCardApplicationStatus.AppType;
 import com.android.internal.telephony.uicc.IccIoResult;
-import com.android.internal.telephony.uicc.IccRecords;
 import com.android.internal.telephony.uicc.IccUtils;
 import com.android.internal.telephony.uicc.SIMRecords;
 import com.android.internal.telephony.uicc.UiccCard;
 import com.android.internal.telephony.uicc.UiccCardApplication;
 import com.android.internal.telephony.uicc.UiccController;
+import com.android.internal.telephony.uicc.UiccPort;
 import com.android.internal.telephony.uicc.UiccProfile;
 import com.android.internal.telephony.uicc.UiccSlot;
 import com.android.internal.telephony.util.LocaleUtils;
@@ -217,6 +225,8 @@
 import java.io.PrintWriter;
 import java.util.ArrayList;
 import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.List;
@@ -405,6 +415,25 @@
     private static final int SET_NETWORK_SELECTION_MODE_AUTOMATIC_TIMEOUT_MS = 2000; // 2 seconds
 
     /**
+     * With support for MEP(multiple enabled profile) in Android T, a SIM card can have more than
+     * one ICCID active at the same time.
+     * Apps should use below API signatures if targeting SDK is T and beyond.
+     *
+     * @hide
+     */
+    @ChangeId
+    @EnabledSince(targetSdkVersion = Build.VERSION_CODES.TIRAMISU)
+    public static final long GET_API_SIGNATURES_FROM_UICC_PORT_INFO = 202110963L;
+
+    /**
+     * Apps targeting on Android T and beyond will get exception whenever icc close channel
+     * operation fails.
+     */
+    @ChangeId
+    @EnabledSince(targetSdkVersion = Build.VERSION_CODES.TIRAMISU)
+    public static final long ICC_CLOSE_CHANNEL_EXCEPTION_ON_FAILURE = 208739934L;
+
+    /**
      * A request object to use for transmitting data to an ICC.
      */
     private static final class IccAPDUArgument {
@@ -506,7 +535,7 @@
             MainThreadRequest request;
             Message onCompleted;
             AsyncResult ar;
-            UiccCard uiccCard;
+            UiccPort uiccPort;
             IccAPDUArgument iccArgument;
             final Phone defaultPhone = getDefaultPhone();
 
@@ -515,7 +544,7 @@
                     request = (MainThreadRequest) msg.obj;
                     final Phone phone = getPhoneFromRequest(request);
                     Pair<String, ResultReceiver> ussdObject = (Pair) request.argument;
-                    String ussdRequest =  ussdObject.first;
+                    String ussdRequest = ussdObject.first;
                     ResultReceiver wrappedCallback = ussdObject.second;
 
                     if (!isUssdApiAllowed(request.subId)) {
@@ -556,18 +585,18 @@
                 case CMD_TRANSMIT_APDU_LOGICAL_CHANNEL:
                     request = (MainThreadRequest) msg.obj;
                     iccArgument = (IccAPDUArgument) request.argument;
-                    uiccCard = getUiccCardFromRequest(request);
-                    if (uiccCard == null) {
+                    uiccPort = getUiccPortFromRequest(request);
+                    if (uiccPort == null) {
                         loge("iccTransmitApduLogicalChannel: No UICC");
-                        request.result = new IccIoResult(0x6F, 0, (byte[])null);
+                        request.result = new IccIoResult(0x6F, 0, (byte[]) null);
                         notifyRequester(request);
                     } else {
                         onCompleted = obtainMessage(EVENT_TRANSMIT_APDU_LOGICAL_CHANNEL_DONE,
-                            request);
-                        uiccCard.iccTransmitApduLogicalChannel(
-                            iccArgument.channel, iccArgument.cla, iccArgument.command,
-                            iccArgument.p1, iccArgument.p2, iccArgument.p3, iccArgument.data,
-                            onCompleted);
+                                request);
+                        uiccPort.iccTransmitApduLogicalChannel(
+                                iccArgument.channel, iccArgument.cla, iccArgument.command,
+                                iccArgument.p1, iccArgument.p2, iccArgument.p3, iccArgument.data,
+                                onCompleted);
                     }
                     break;
 
@@ -577,7 +606,7 @@
                     if (ar.exception == null && ar.result != null) {
                         request.result = ar.result;
                     } else {
-                        request.result = new IccIoResult(0x6F, 0, (byte[])null);
+                        request.result = new IccIoResult(0x6F, 0, (byte[]) null);
                         if (ar.result == null) {
                             loge("iccTransmitApduLogicalChannel: Empty response");
                         } else if (ar.exception instanceof CommandException) {
@@ -593,17 +622,18 @@
                 case CMD_TRANSMIT_APDU_BASIC_CHANNEL:
                     request = (MainThreadRequest) msg.obj;
                     iccArgument = (IccAPDUArgument) request.argument;
-                    uiccCard = getUiccCardFromRequest(request);
-                    if (uiccCard == null) {
+                    uiccPort = getUiccPortFromRequest(request);
+                    if (uiccPort == null) {
                         loge("iccTransmitApduBasicChannel: No UICC");
-                        request.result = new IccIoResult(0x6F, 0, (byte[])null);
+                        request.result = new IccIoResult(0x6F, 0, (byte[]) null);
                         notifyRequester(request);
                     } else {
                         onCompleted = obtainMessage(EVENT_TRANSMIT_APDU_BASIC_CHANNEL_DONE,
-                            request);
-                        uiccCard.iccTransmitApduBasicChannel(
-                            iccArgument.cla, iccArgument.command, iccArgument.p1, iccArgument.p2,
-                            iccArgument.p3, iccArgument.data, onCompleted);
+                                request);
+                        uiccPort.iccTransmitApduBasicChannel(
+                                iccArgument.cla, iccArgument.command, iccArgument.p1,
+                                iccArgument.p2,
+                                iccArgument.p3, iccArgument.data, onCompleted);
                     }
                     break;
 
@@ -613,7 +643,7 @@
                     if (ar.exception == null && ar.result != null) {
                         request.result = ar.result;
                     } else {
-                        request.result = new IccIoResult(0x6F, 0, (byte[])null);
+                        request.result = new IccIoResult(0x6F, 0, (byte[]) null);
                         if (ar.result == null) {
                             loge("iccTransmitApduBasicChannel: Empty response");
                         } else if (ar.exception instanceof CommandException) {
@@ -629,15 +659,15 @@
                 case CMD_EXCHANGE_SIM_IO:
                     request = (MainThreadRequest) msg.obj;
                     iccArgument = (IccAPDUArgument) request.argument;
-                    uiccCard = getUiccCardFromRequest(request);
-                    if (uiccCard == null) {
+                    uiccPort = getUiccPortFromRequest(request);
+                    if (uiccPort == null) {
                         loge("iccExchangeSimIO: No UICC");
-                        request.result = new IccIoResult(0x6F, 0, (byte[])null);
+                        request.result = new IccIoResult(0x6F, 0, (byte[]) null);
                         notifyRequester(request);
                     } else {
                         onCompleted = obtainMessage(EVENT_EXCHANGE_SIM_IO_DONE,
                                 request);
-                        uiccCard.iccExchangeSimIO(iccArgument.cla, /* fileID */
+                        uiccPort.iccExchangeSimIO(iccArgument.cla, /* fileID */
                                 iccArgument.command, iccArgument.p1, iccArgument.p2, iccArgument.p3,
                                 iccArgument.data, onCompleted);
                     }
@@ -649,21 +679,21 @@
                     if (ar.exception == null && ar.result != null) {
                         request.result = ar.result;
                     } else {
-                        request.result = new IccIoResult(0x6f, 0, (byte[])null);
+                        request.result = new IccIoResult(0x6f, 0, (byte[]) null);
                     }
                     notifyRequester(request);
                     break;
 
                 case CMD_SEND_ENVELOPE:
                     request = (MainThreadRequest) msg.obj;
-                    uiccCard = getUiccCardFromRequest(request);
-                    if (uiccCard == null) {
+                    uiccPort = getUiccPortFromRequest(request);
+                    if (uiccPort == null) {
                         loge("sendEnvelopeWithStatus: No UICC");
-                        request.result = new IccIoResult(0x6F, 0, (byte[])null);
+                        request.result = new IccIoResult(0x6F, 0, (byte[]) null);
                         notifyRequester(request);
                     } else {
                         onCompleted = obtainMessage(EVENT_SEND_ENVELOPE_DONE, request);
-                        uiccCard.sendEnvelopeWithStatus((String)request.argument, onCompleted);
+                        uiccPort.sendEnvelopeWithStatus((String) request.argument, onCompleted);
                     }
                     break;
 
@@ -673,7 +703,7 @@
                     if (ar.exception == null && ar.result != null) {
                         request.result = ar.result;
                     } else {
-                        request.result = new IccIoResult(0x6F, 0, (byte[])null);
+                        request.result = new IccIoResult(0x6F, 0, (byte[]) null);
                         if (ar.result == null) {
                             loge("sendEnvelopeWithStatus: Empty response");
                         } else if (ar.exception instanceof CommandException) {
@@ -688,17 +718,18 @@
 
                 case CMD_OPEN_CHANNEL:
                     request = (MainThreadRequest) msg.obj;
-                    uiccCard = getUiccCardFromRequest(request);
-                    Pair<String, Integer> openChannelArgs = (Pair<String, Integer>) request.argument;
-                    if (uiccCard == null) {
+                    uiccPort = getUiccPortFromRequest(request);
+                    IccLogicalChannelRequest openChannelRequest =
+                            (IccLogicalChannelRequest) request.argument;
+                    if (uiccPort == null) {
                         loge("iccOpenLogicalChannel: No UICC");
                         request.result = new IccOpenLogicalChannelResponse(-1,
-                            IccOpenLogicalChannelResponse.STATUS_MISSING_RESOURCE, null);
+                                IccOpenLogicalChannelResponse.STATUS_MISSING_RESOURCE, null);
                         notifyRequester(request);
                     } else {
                         onCompleted = obtainMessage(EVENT_OPEN_CHANNEL_DONE, request);
-                        uiccCard.iccOpenLogicalChannel(openChannelArgs.first,
-                                openChannelArgs.second, onCompleted);
+                        uiccPort.iccOpenLogicalChannel(openChannelRequest.aid,
+                                openChannelRequest.p2, onCompleted);
                     }
                     break;
 
@@ -717,7 +748,17 @@
                             }
                         }
                         openChannelResp = new IccOpenLogicalChannelResponse(channelId,
-                            IccOpenLogicalChannelResponse.STATUS_NO_ERROR, selectResponse);
+                                IccOpenLogicalChannelResponse.STATUS_NO_ERROR, selectResponse);
+
+                        uiccPort = getUiccPortFromRequest(request);
+                        if (uiccPort == null) {
+                            loge("EVENT_OPEN_CHANNEL_DONE: UiccPort is null");
+                        } else {
+                            IccLogicalChannelRequest channelRequest =
+                                    (IccLogicalChannelRequest) request.argument;
+                            channelRequest.channel = channelId;
+                            uiccPort.onLogicalChannelOpened(channelRequest);
+                        }
                     } else {
                         if (ar.result == null) {
                             loge("iccOpenLogicalChannel: Empty response");
@@ -729,7 +770,7 @@
                         int errorCode = IccOpenLogicalChannelResponse.STATUS_UNKNOWN_ERROR;
                         if (ar.exception instanceof CommandException) {
                             CommandException.Error error =
-                                ((CommandException) (ar.exception)).getCommandError();
+                                    ((CommandException) (ar.exception)).getCommandError();
                             if (error == CommandException.Error.MISSING_RESOURCE) {
                                 errorCode = IccOpenLogicalChannelResponse.STATUS_MISSING_RESOURCE;
                             } else if (error == CommandException.Error.NO_SUCH_ELEMENT) {
@@ -737,7 +778,7 @@
                             }
                         }
                         openChannelResp = new IccOpenLogicalChannelResponse(
-                            IccOpenLogicalChannelResponse.INVALID_CHANNEL, errorCode, null);
+                                IccOpenLogicalChannelResponse.INVALID_CHANNEL, errorCode, null);
                     }
                     request.result = openChannelResp;
                     notifyRequester(request);
@@ -745,19 +786,50 @@
 
                 case CMD_CLOSE_CHANNEL:
                     request = (MainThreadRequest) msg.obj;
-                    uiccCard = getUiccCardFromRequest(request);
-                    if (uiccCard == null) {
+                    uiccPort = getUiccPortFromRequest(request);
+                    if (uiccPort == null) {
                         loge("iccCloseLogicalChannel: No UICC");
-                        request.result = false;
+                        request.result = new IllegalArgumentException(
+                                    "iccCloseLogicalChannel: No UICC");
                         notifyRequester(request);
                     } else {
                         onCompleted = obtainMessage(EVENT_CLOSE_CHANNEL_DONE, request);
-                        uiccCard.iccCloseLogicalChannel((Integer) request.argument, onCompleted);
+                        uiccPort.iccCloseLogicalChannel((Integer) request.argument, onCompleted);
                     }
                     break;
 
                 case EVENT_CLOSE_CHANNEL_DONE:
-                    handleNullReturnEvent(msg, "iccCloseLogicalChannel");
+                    ar = (AsyncResult) msg.obj;
+                    request = (MainThreadRequest) ar.userObj;
+                    if (ar.exception == null) {
+                        request.result = true;
+                        uiccPort = getUiccPortFromRequest(request);
+                        if (uiccPort == null) {
+                            loge("EVENT_CLOSE_CHANNEL_DONE: UiccPort is null");
+                        } else {
+                            final int channelId = (Integer) request.argument;
+                            uiccPort.onLogicalChannelClosed(channelId);
+                        }
+                    } else {
+                        request.result = false;
+                        Exception exception = null;
+                        if (ar.exception instanceof CommandException) {
+                            loge("iccCloseLogicalChannel: CommandException: " + ar.exception);
+                            CommandException.Error error =
+                                    ((CommandException) (ar.exception)).getCommandError();
+                            if (error == CommandException.Error.INVALID_ARGUMENTS) {
+                                // should only throw exceptions from the binder threads.
+                                exception = new IllegalArgumentException(
+                                        "iccCloseLogicalChannel: invalid argument ");
+                            }
+                        } else {
+                            loge("iccCloseLogicalChannel: Unknown exception");
+                        }
+                        request.result = (exception != null) ? exception :
+                                new IllegalStateException(
+                                        "exception from modem to close iccLogical Channel");
+                    }
+                    notifyRequester(request);
                     break;
 
                 case CMD_NV_READ_ITEM:
@@ -1099,7 +1171,9 @@
                             // any service for voice call.
                             if ((callForwardInfo.serviceClass
                                     & CommandsInterface.SERVICE_CLASS_VOICE) > 0) {
-                                callForwardingInfo = new CallForwardingInfo(true,
+                                callForwardingInfo = new CallForwardingInfo(
+                                        callForwardInfo.status
+                                                == CommandsInterface.CF_ACTION_ENABLE,
                                         callForwardInfo.reason,
                                         callForwardInfo.number,
                                         callForwardInfo.timeSeconds);
@@ -1193,7 +1267,7 @@
                     ar = (AsyncResult) msg.obj;
                     request = (MainThreadRequest) ar.userObj;
                     Consumer<Integer> callback = (Consumer<Integer>) request.argument;
-                    int callForwardingStatus = TelephonyManager.CALL_WAITING_STATUS_UNKNOWN_ERROR;
+                    int callWaitingStatus = TelephonyManager.CALL_WAITING_STATUS_UNKNOWN_ERROR;
                     if (ar.exception == null && ar.result != null) {
                         int[] callForwardResults = (int[]) ar.result;
                         // Service Class is a bit mask per 3gpp 27.007.
@@ -1201,11 +1275,11 @@
                         if (callForwardResults.length > 1
                                 && ((callForwardResults[1]
                                 & CommandsInterface.SERVICE_CLASS_VOICE) > 0)) {
-                            callForwardingStatus = callForwardResults[0] == 0
+                            callWaitingStatus = callForwardResults[0] == 0
                                     ? TelephonyManager.CALL_WAITING_STATUS_DISABLED
                                     : TelephonyManager.CALL_WAITING_STATUS_ENABLED;
                         } else {
-                            callForwardingStatus = TelephonyManager.CALL_WAITING_STATUS_DISABLED;
+                            callWaitingStatus = TelephonyManager.CALL_WAITING_STATUS_DISABLED;
                         }
                     } else {
                         if (ar.result == null) {
@@ -1218,12 +1292,15 @@
                             CommandException.Error error =
                                     ((CommandException) (ar.exception)).getCommandError();
                             if (error == CommandException.Error.REQUEST_NOT_SUPPORTED) {
-                                callForwardingStatus =
+                                callWaitingStatus =
                                         TelephonyManager.CALL_WAITING_STATUS_NOT_SUPPORTED;
+                            } else if (error == CommandException.Error.FDN_CHECK_FAILURE) {
+                                callWaitingStatus =
+                                        TelephonyManager.CALL_WAITING_STATUS_FDN_CHECK_FAILURE;
                             }
                         }
                     }
-                    callback.accept(callForwardingStatus);
+                    callback.accept(callWaitingStatus);
                     break;
                 }
 
@@ -1248,6 +1325,9 @@
                                     ((CommandException) (ar.exception)).getCommandError();
                             if (error == CommandException.Error.REQUEST_NOT_SUPPORTED) {
                                 callback.accept(TelephonyManager.CALL_WAITING_STATUS_NOT_SUPPORTED);
+                            } else if (error == CommandException.Error.FDN_CHECK_FAILURE) {
+                                callback.accept(
+                                        TelephonyManager.CALL_WAITING_STATUS_FDN_CHECK_FAILURE);
                             } else {
                                 callback.accept(TelephonyManager.CALL_WAITING_STATUS_UNKNOWN_ERROR);
                             }
@@ -1333,43 +1413,39 @@
                     ar = (AsyncResult) msg.obj;
                     request = (MainThreadRequest) ar.userObj;
                     ResultReceiver result = (ResultReceiver) request.argument;
-
-                    ModemActivityInfo ret = null;
                     int error = 0;
+                    if (mLastModemActivityInfo == null) {
+                        mLastModemActivitySpecificInfo = new ActivityStatsTechSpecificInfo[1];
+                        mLastModemActivitySpecificInfo[0] =
+                                new ActivityStatsTechSpecificInfo(
+                                        0,
+                                        0,
+                                        new int[ModemActivityInfo.getNumTxPowerLevels()],
+                                        0);
+                        mLastModemActivityInfo =
+                                new ModemActivityInfo(0, 0, 0, mLastModemActivitySpecificInfo);
+                    }
+
                     if (ar.exception == null && ar.result != null) {
                         // Update the last modem activity info and the result of the request.
                         ModemActivityInfo info = (ModemActivityInfo) ar.result;
                         if (isModemActivityInfoValid(info)) {
-                            int[] mergedTxTimeMs = new int[ModemActivityInfo.getNumTxPowerLevels()];
-                            int[] txTimeMs = info.getTransmitTimeMillis();
-                            int[] lastModemTxTimeMs = mLastModemActivityInfo
-                                    .getTransmitTimeMillis();
-                            for (int i = 0; i < mergedTxTimeMs.length; i++) {
-                                mergedTxTimeMs[i] = txTimeMs[i] + lastModemTxTimeMs[i];
-                            }
-                            mLastModemActivityInfo.setTimestamp(info.getTimestampMillis());
-                            mLastModemActivityInfo.setSleepTimeMillis(info.getSleepTimeMillis()
-                                    + mLastModemActivityInfo.getSleepTimeMillis());
-                            mLastModemActivityInfo.setIdleTimeMillis(info.getIdleTimeMillis()
-                                    + mLastModemActivityInfo.getIdleTimeMillis());
-                            mLastModemActivityInfo.setTransmitTimeMillis(mergedTxTimeMs);
-                            mLastModemActivityInfo.setReceiveTimeMillis(
-                                    info.getReceiveTimeMillis()
-                                            + mLastModemActivityInfo.getReceiveTimeMillis());
+                            mergeModemActivityInfo(info);
                         }
-                        ret = new ModemActivityInfo(mLastModemActivityInfo.getTimestampMillis(),
-                                mLastModemActivityInfo.getSleepTimeMillis(),
-                                mLastModemActivityInfo.getIdleTimeMillis(),
-                                mLastModemActivityInfo.getTransmitTimeMillis(),
-                                mLastModemActivityInfo.getReceiveTimeMillis());
+                        mLastModemActivityInfo =
+                                new ModemActivityInfo(
+                                        mLastModemActivityInfo.getTimestampMillis(),
+                                        mLastModemActivityInfo.getSleepTimeMillis(),
+                                        mLastModemActivityInfo.getIdleTimeMillis(),
+                                        mLastModemActivitySpecificInfo);
+
                     } else {
                         if (ar.result == null) {
                             loge("queryModemActivityInfo: Empty response");
                             error = TelephonyManager.ModemActivityInfoException
                                     .ERROR_INVALID_INFO_RECEIVED;
                         } else if (ar.exception instanceof CommandException) {
-                            loge("queryModemActivityInfo: CommandException: " +
-                                    ar.exception);
+                            loge("queryModemActivityInfo: CommandException: " + ar.exception);
                             error = TelephonyManager.ModemActivityInfoException
                                     .ERROR_MODEM_RESPONSE_ERROR;
                         } else {
@@ -1379,8 +1455,10 @@
                         }
                     }
                     Bundle bundle = new Bundle();
-                    if (ret != null) {
-                        bundle.putParcelable(TelephonyManager.MODEM_ACTIVITY_RESULT_KEY, ret);
+                    if (mLastModemActivityInfo != null) {
+                        bundle.putParcelable(
+                                TelephonyManager.MODEM_ACTIVITY_RESULT_KEY,
+                                mLastModemActivityInfo);
                     } else {
                         bundle.putInt(TelephonyManager.EXCEPTION_RESULT_KEY, error);
                     }
@@ -1464,16 +1542,16 @@
 
                 case CMD_GET_FORBIDDEN_PLMNS:
                     request = (MainThreadRequest) msg.obj;
-                    uiccCard = getUiccCardFromRequest(request);
-                    if (uiccCard == null) {
-                        loge("getForbiddenPlmns() UiccCard is null");
+                    uiccPort = getUiccPortFromRequest(request);
+                    if (uiccPort == null) {
+                        loge("getForbiddenPlmns() UiccPort is null");
                         request.result = new IllegalArgumentException(
-                                "getForbiddenPlmns() UiccCard is null");
+                                "getForbiddenPlmns() UiccPort is null");
                         notifyRequester(request);
                         break;
                     }
                     Integer appType = (Integer) request.argument;
-                    UiccCardApplication uiccApp = uiccCard.getApplicationByType(appType);
+                    UiccCardApplication uiccApp = uiccPort.getApplicationByType(appType);
                     if (uiccApp == null) {
                         loge("getForbiddenPlmns() no app with specified type -- "
                                 + appType);
@@ -1491,9 +1569,9 @@
 
                 case CMD_SWITCH_SLOTS:
                     request = (MainThreadRequest) msg.obj;
-                    int[] physicalSlots = (int[]) request.argument;
+                    List<UiccSlotMapping> slotMapping = (List<UiccSlotMapping>) request.argument;
                     onCompleted = obtainMessage(EVENT_SWITCH_SLOTS_DONE, request);
-                    UiccController.getInstance().switchSlots(physicalSlots, onCompleted);
+                    UiccController.getInstance().switchSlots(slotMapping, onCompleted);
                     break;
 
                 case EVENT_SWITCH_SLOTS_DONE:
@@ -1769,9 +1847,9 @@
                     break;
                 case CMD_SET_FORBIDDEN_PLMNS:
                     request = (MainThreadRequest) msg.obj;
-                    uiccCard = getUiccCardFromRequest(request);
-                    if (uiccCard == null) {
-                        loge("setForbiddenPlmns: UiccCard is null");
+                    uiccPort = getUiccPortFromRequest(request);
+                    if (uiccPort == null) {
+                        loge("setForbiddenPlmns: UiccPort is null");
                         request.result = -1;
                         notifyRequester(request);
                         break;
@@ -1780,7 +1858,7 @@
                             (Pair<Integer, List<String>>) request.argument;
                     appType = setFplmnsArgs.first;
                     List<String> fplmns = setFplmnsArgs.second;
-                    uiccApp = uiccCard.getApplicationByType(appType);
+                    uiccApp = uiccPort.getApplicationByType(appType);
                     if (uiccApp == null) {
                         loge("setForbiddenPlmns: no app with specified type -- " + appType);
                         request.result = -1;
@@ -1978,7 +2056,7 @@
                             (Pair<Integer, SignalStrengthUpdateRequest>) request.argument;
                     onCompleted = obtainMessage(EVENT_SET_SIGNAL_STRENGTH_UPDATE_REQUEST_DONE,
                             request);
-                    phone.getServiceStateTracker().setSignalStrengthUpdateRequest(
+                    phone.getSignalStrengthController().setSignalStrengthUpdateRequest(
                                     request.subId, pair.first /*callingUid*/,
                                     pair.second /*request*/, onCompleted);
                     break;
@@ -2006,7 +2084,7 @@
                             (Pair<Integer, SignalStrengthUpdateRequest>) request.argument;
                     onCompleted = obtainMessage(EVENT_CLEAR_SIGNAL_STRENGTH_UPDATE_REQUEST_DONE,
                             request);
-                    phone.getServiceStateTracker().clearSignalStrengthUpdateRequest(
+                    phone.getSignalStrengthController().clearSignalStrengthUpdateRequest(
                                     request.subId, pair.first /*callingUid*/,
                                     pair.second /*request*/, onCompleted);
                     break;
@@ -2268,7 +2346,7 @@
         mPhoneConfigurationManager = PhoneConfigurationManager.getInstance();
         mRadioInterfaceCapabilities = RadioInterfaceCapabilityController.getInstance();
         mNotifyUserActivity = new AtomicBoolean(false);
-
+        PropertyInvalidatedCache.invalidateCache(TelephonyManager.CACHE_KEY_PHONE_ACCOUNT_TO_SUBID);
         publish();
     }
 
@@ -2299,10 +2377,11 @@
                 ? getDefaultPhone() : getPhone(subId);
     }
 
-    private UiccCard getUiccCardFromRequest(MainThreadRequest request) {
+    @Nullable
+    private UiccPort getUiccPortFromRequest(@NonNull MainThreadRequest request) {
         Phone phone = getPhoneFromRequest(request);
         return phone == null ? null :
-                UiccController.getInstance().getUiccCard(phone.getPhoneId());
+                UiccController.getInstance().getUiccPort(phone.getPhoneId());
     }
 
     // returns phone associated with the subId.
@@ -2774,7 +2853,7 @@
 
     // FIXME: subId version needed
     @Override
-    public boolean enableDataConnectivity() {
+    public boolean enableDataConnectivity(String callingPackage) {
         enforceModifyPermission();
 
         final long identity = Binder.clearCallingIdentity();
@@ -2782,8 +2861,13 @@
             int subId = mSubscriptionController.getDefaultDataSubId();
             final Phone phone = getPhone(subId);
             if (phone != null) {
-                phone.getDataEnabledSettings().setDataEnabled(
-                        TelephonyManager.DATA_ENABLED_REASON_USER, true);
+                if (phone.isUsingNewDataStack()) {
+                    phone.getDataSettingsManager().setDataEnabled(
+                            TelephonyManager.DATA_ENABLED_REASON_USER, true, callingPackage);
+                } else {
+                    phone.getDataEnabledSettings().setDataEnabled(
+                            TelephonyManager.DATA_ENABLED_REASON_USER, true);
+                }
                 return true;
             } else {
                 return false;
@@ -2795,7 +2879,7 @@
 
     // FIXME: subId version needed
     @Override
-    public boolean disableDataConnectivity() {
+    public boolean disableDataConnectivity(String callingPackage) {
         enforceModifyPermission();
 
         final long identity = Binder.clearCallingIdentity();
@@ -2803,8 +2887,13 @@
             int subId = mSubscriptionController.getDefaultDataSubId();
             final Phone phone = getPhone(subId);
             if (phone != null) {
-                phone.getDataEnabledSettings().setDataEnabled(
-                        TelephonyManager.DATA_ENABLED_REASON_USER, false);
+                if (phone.isUsingNewDataStack()) {
+                    phone.getDataSettingsManager().setDataEnabled(
+                            TelephonyManager.DATA_ENABLED_REASON_USER, false, callingPackage);
+                } else {
+                    phone.getDataEnabledSettings().setDataEnabled(
+                            TelephonyManager.DATA_ENABLED_REASON_USER, false);
+                }
                 return true;
             } else {
                 return false;
@@ -2820,7 +2909,7 @@
         try {
             final Phone phone = getPhone(subId);
             if (phone != null) {
-                return phone.isDataAllowed(ApnSetting.TYPE_DEFAULT);
+                return phone.isDataAllowed();
             } else {
                 return false;
             }
@@ -2920,6 +3009,9 @@
         try {
             final Phone phone = getPhone(subId);
             if (phone != null) {
+                if (phone.isUsingNewDataStack()) {
+                    return phone.getDataNetworkController().getInternetDataNetworkState();
+                }
                 return PhoneConstantConversions.convertDataState(phone.getDataConnectionState());
             } else {
                 return PhoneConstantConversions.convertDataState(
@@ -2931,17 +3023,17 @@
     }
 
     @Override
-    public int getDataActivity() {
+    public @DataActivityType int getDataActivity() {
         return getDataActivityForSubId(mSubscriptionController.getDefaultDataSubId());
     }
 
     @Override
-    public int getDataActivityForSubId(int subId) {
+    public @DataActivityType int getDataActivityForSubId(int subId) {
         final long identity = Binder.clearCallingIdentity();
         try {
             final Phone phone = getPhone(subId);
             if (phone != null) {
-                return DefaultPhoneNotifier.convertDataActivityState(phone.getDataActivityState());
+                return phone.getDataActivityState();
             } else {
                 return TelephonyManager.DATA_ACTIVITY_NONE;
             }
@@ -3225,7 +3317,12 @@
         String tac = null;
         if (phone != null) {
             String imei = phone.getImei();
-            tac = imei == null ? null : imei.substring(0, TYPE_ALLOCATION_CODE_LENGTH);
+            try {
+                tac = imei == null ? null : imei.substring(0, TYPE_ALLOCATION_CODE_LENGTH);
+            } catch (IndexOutOfBoundsException e) {
+                Log.e(LOG_TAG, "IMEI length shorter than upper index.");
+                return null;
+            }
         }
         return tac;
     }
@@ -3264,7 +3361,13 @@
         String manufacturerCode = null;
         if (phone != null) {
             String meid = phone.getMeid();
-            manufacturerCode = meid == null ? null : meid.substring(0, MANUFACTURER_CODE_LENGTH);
+            try {
+                manufacturerCode =
+                        meid == null ? null : meid.substring(0, MANUFACTURER_CODE_LENGTH);
+            } catch (IndexOutOfBoundsException e) {
+                Log.e(LOG_TAG, "MEID length shorter than upper index.");
+                return null;
+            }
         }
         return manufacturerCode;
     }
@@ -3386,17 +3489,6 @@
         mApp.enforceCallingOrSelfPermission(android.Manifest.permission.MODIFY_PHONE_STATE, null);
     }
 
-    /**
-     * Make sure the caller is system.
-     *
-     * @throws SecurityException if the caller is not system.
-     */
-    private static void enforceSystemCaller() {
-        if (Binder.getCallingUid() != Process.SYSTEM_UID) {
-            throw new SecurityException("Caller must be system");
-        }
-    }
-
     private void enforceActiveEmergencySessionPermission() {
         mApp.enforceCallingOrSelfPermission(
                 android.Manifest.permission.READ_ACTIVE_EMERGENCY_SESSION, null);
@@ -4506,6 +4598,7 @@
     @Override
     public void registerImsProvisioningChangedCallback(int subId, IImsConfigCallback callback) {
         enforceReadPrivilegedPermission("registerImsProvisioningChangedCallback");
+
         final long identity = Binder.clearCallingIdentity();
         try {
             if (!isImsAvailableOnDevice()) {
@@ -4526,6 +4619,7 @@
     @Override
     public void unregisterImsProvisioningChangedCallback(int subId, IImsConfigCallback callback) {
         enforceReadPrivilegedPermission("unregisterImsProvisioningChangedCallback");
+
         final long identity = Binder.clearCallingIdentity();
         if (!SubscriptionManager.isValidSubscriptionId(subId)) {
             throw new IllegalArgumentException("Invalid Subscription ID: " + subId);
@@ -4543,86 +4637,92 @@
         }
     }
 
+    @Override
+    public void registerFeatureProvisioningChangedCallback(int subId,
+            IFeatureProvisioningCallback callback) {
+        TelephonyPermissions.enforceCallingOrSelfReadPrecisePhoneStatePermissionOrCarrierPrivilege(
+                mApp, subId, "registerFeatureProvisioningChangedCallback");
+
+        final long identity = Binder.clearCallingIdentity();
+        if (!SubscriptionManager.isValidSubscriptionId(subId)) {
+            throw new IllegalArgumentException("Invalid Subscription ID: " + subId);
+        }
+
+        try {
+            ImsProvisioningController controller = ImsProvisioningController.getInstance();
+            if (controller == null) {
+                throw new ServiceSpecificException(ImsException.CODE_ERROR_UNSUPPORTED_OPERATION,
+                        "Device does not support IMS");
+            }
+            controller.addFeatureProvisioningChangedCallback(subId, callback);
+        } finally {
+            Binder.restoreCallingIdentity(identity);
+        }
+    }
+
+    @Override
+    public void unregisterFeatureProvisioningChangedCallback(int subId,
+            IFeatureProvisioningCallback callback) {
+        TelephonyPermissions.enforceCallingOrSelfReadPrecisePhoneStatePermissionOrCarrierPrivilege(
+                mApp, subId, "unregisterFeatureProvisioningChangedCallback");
+
+        final long identity = Binder.clearCallingIdentity();
+        if (!SubscriptionManager.isValidSubscriptionId(subId)) {
+            throw new IllegalArgumentException("Invalid Subscription ID: " + subId);
+        }
+
+        try {
+            ImsProvisioningController controller = ImsProvisioningController.getInstance();
+            if (controller == null) {
+                loge("unregisterFeatureProvisioningChangedCallback: Device does not support IMS");
+                return;
+            }
+            controller.removeFeatureProvisioningChangedCallback(subId, callback);
+        } finally {
+            Binder.restoreCallingIdentity(identity);
+        }
+    }
 
     private void checkModifyPhoneStatePermission(int subId, String message) {
         TelephonyPermissions.enforceCallingOrSelfModifyPermissionOrCarrierPrivilege(mApp, subId,
                 message);
     }
 
-    private boolean isImsProvisioningRequired(int subId, int capability,
-            boolean isMmtelCapability) {
-        Phone phone = getPhone(subId);
-        if (phone == null) {
-            loge("phone instance null for subid " + subId);
-            return false;
-        }
-        if (isMmtelCapability) {
-            if (!doesImsCapabilityRequireProvisioning(phone.getContext(), subId, capability)) {
-                return false;
-            }
-        } else {
-            if (!doesRcsCapabilityRequireProvisioning(phone.getContext(), subId, capability)) {
-                return false;
-            }
-        }
-        return true;
-    }
-
     @Override
-    public void setRcsProvisioningStatusForCapability(int subId, int capability,
+    public void setRcsProvisioningStatusForCapability(int subId, int capability, int tech,
             boolean isProvisioned) {
         checkModifyPhoneStatePermission(subId, "setRcsProvisioningStatusForCapability");
 
         final long identity = Binder.clearCallingIdentity();
         try {
-            // TODO: Refactor to remove ImsManager dependence and query through ImsPhone directly.
-            if (!isImsProvisioningRequired(subId, capability, false)) {
+            ImsProvisioningController controller = ImsProvisioningController.getInstance();
+            if (controller == null) {
+                loge("setRcsProvisioningStatusForCapability: Device does not support IMS");
                 return;
             }
-
-            // this capability requires provisioning, route to the correct API.
-            ImsManager ims = ImsManager.getInstance(mApp, getSlotIndex(subId));
-            switch (capability) {
-                case RcsFeature.RcsImsCapabilities.CAPABILITY_TYPE_OPTIONS_UCE:
-                case RcsFeature.RcsImsCapabilities.CAPABILITY_TYPE_PRESENCE_UCE:
-                    ims.setEabProvisioned(isProvisioned);
-                    break;
-                default: {
-                    throw new IllegalArgumentException("Tried to set provisioning for "
-                            + "rcs capability '" + capability + "', which does not require "
-                            + "provisioning.");
-                }
-            }
+            controller.setRcsProvisioningStatusForCapability(
+                    subId, capability, tech, isProvisioned);
         } finally {
             Binder.restoreCallingIdentity(identity);
         }
-
     }
 
 
     @Override
-    public boolean getRcsProvisioningStatusForCapability(int subId, int capability) {
-        enforceReadPrivilegedPermission("getRcsProvisioningStatusForCapability");
+    public boolean getRcsProvisioningStatusForCapability(int subId, int capability, int tech) {
+        TelephonyPermissions.enforceCallingOrSelfReadPrecisePhoneStatePermissionOrCarrierPrivilege(
+                mApp, subId, "getRcsProvisioningStatusForCapability");
+
         final long identity = Binder.clearCallingIdentity();
         try {
-            // TODO: Refactor to remove ImsManager dependence and query through ImsPhone directly.
-            if (!isImsProvisioningRequired(subId, capability, false)) {
+            ImsProvisioningController controller = ImsProvisioningController.getInstance();
+            if (controller == null) {
+                loge("getRcsProvisioningStatusForCapability: Device does not support IMS");
+
+                // device does not support IMS, this method will return true always.
                 return true;
             }
-
-            ImsManager ims = ImsManager.getInstance(mApp, getSlotIndex(subId));
-            switch (capability) {
-                case RcsFeature.RcsImsCapabilities.CAPABILITY_TYPE_OPTIONS_UCE:
-                case RcsFeature.RcsImsCapabilities.CAPABILITY_TYPE_PRESENCE_UCE:
-                    return ims.isEabProvisionedOnDevice();
-
-                default: {
-                    throw new IllegalArgumentException("Tried to get rcs provisioning for "
-                            + "capability '" + capability + "', which does not require "
-                            + "provisioning.");
-                }
-            }
-
+            return controller.getRcsProvisioningStatusForCapability(subId, capability, tech);
         } finally {
             Binder.restoreCallingIdentity(identity);
         }
@@ -4631,66 +4731,17 @@
     @Override
     public void setImsProvisioningStatusForCapability(int subId, int capability, int tech,
             boolean isProvisioned) {
-        if (tech != ImsRegistrationImplBase.REGISTRATION_TECH_IWLAN
-                && tech != ImsRegistrationImplBase.REGISTRATION_TECH_LTE
-                && tech != ImsRegistrationImplBase.REGISTRATION_TECH_NR
-                && tech != ImsRegistrationImplBase.REGISTRATION_TECH_CROSS_SIM) {
-            throw new IllegalArgumentException("Registration technology '" + tech + "' is invalid");
-        }
         checkModifyPhoneStatePermission(subId, "setImsProvisioningStatusForCapability");
+
         final long identity = Binder.clearCallingIdentity();
         try {
-            // TODO: Refactor to remove ImsManager dependence and query through ImsPhone directly.
-            if (!isImsProvisioningRequired(subId, capability, true)) {
+            ImsProvisioningController controller = ImsProvisioningController.getInstance();
+            if (controller == null) {
+                loge("setImsProvisioningStatusForCapability: Device does not support IMS");
                 return;
             }
-            if (tech == ImsRegistrationImplBase.REGISTRATION_TECH_NR
-                    || tech == ImsRegistrationImplBase.REGISTRATION_TECH_CROSS_SIM) {
-                loge("setImsProvisioningStatusForCapability: called for technology that does "
-                        + "not support provisioning - " + tech);
-                return;
-            }
-
-            // this capability requires provisioning, route to the correct API.
-            ImsManager ims = ImsManager.getInstance(mApp, getSlotIndex(subId));
-            switch (capability) {
-                case MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_VOICE: {
-                    if (tech == ImsRegistrationImplBase.REGISTRATION_TECH_LTE) {
-                        ims.setVolteProvisioned(isProvisioned);
-                    } else if (tech == ImsRegistrationImplBase.REGISTRATION_TECH_IWLAN) {
-                        ims.setWfcProvisioned(isProvisioned);
-                    }
-                    break;
-                }
-                case MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_VIDEO: {
-                    // There is currently no difference in VT provisioning type.
-                    ims.setVtProvisioned(isProvisioned);
-                    break;
-                }
-                case MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_UT: {
-                    // There is no "deprecated" UT provisioning mechanism through ImsConfig, so
-                    // change the capability of the feature instead if needed.
-                    if (isMmTelCapabilityProvisionedInCache(subId, capability, tech)
-                            == isProvisioned) {
-                        // No change in provisioning.
-                        return;
-                    }
-                    cacheMmTelCapabilityProvisioning(subId, capability, tech, isProvisioned);
-                    try {
-                        ims.changeMmTelCapability(isProvisioned, capability, tech);
-                    } catch (com.android.ims.ImsException e) {
-                        loge("setImsProvisioningStatusForCapability: couldn't change UT capability"
-                                + ", Exception" + e.getMessage());
-                    }
-                    break;
-                }
-                default: {
-                    throw new IllegalArgumentException("Tried to set provisioning for "
-                            + "MmTel capability '" + capability + "', which does not require "
-                            + "provisioning. ");
-                }
-            }
-
+            controller.setImsProvisioningStatusForCapability(
+                    subId, capability, tech, isProvisioned);
         } finally {
             Binder.restoreCallingIdentity(identity);
         }
@@ -4698,181 +4749,62 @@
 
     @Override
     public boolean getImsProvisioningStatusForCapability(int subId, int capability, int tech) {
-        if (tech != ImsRegistrationImplBase.REGISTRATION_TECH_IWLAN
-                && tech != ImsRegistrationImplBase.REGISTRATION_TECH_LTE
-                && tech != ImsRegistrationImplBase.REGISTRATION_TECH_NR
-                && tech != ImsRegistrationImplBase.REGISTRATION_TECH_CROSS_SIM) {
-            throw new IllegalArgumentException("Registration technology '" + tech + "' is invalid");
-        }
-        enforceReadPrivilegedPermission("getProvisioningStatusForCapability");
+        TelephonyPermissions.enforceCallingOrSelfReadPrecisePhoneStatePermissionOrCarrierPrivilege(
+                mApp, subId, "getProvisioningStatusForCapability");
+
         final long identity = Binder.clearCallingIdentity();
         try {
-            // TODO: Refactor to remove ImsManager dependence and query through ImsPhone directly.
-            if (!isImsProvisioningRequired(subId, capability, true)) {
+            ImsProvisioningController controller = ImsProvisioningController.getInstance();
+            if (controller == null) {
+                loge("getImsProvisioningStatusForCapability: Device does not support IMS");
+
+                // device does not support IMS, this method will return true always.
                 return true;
             }
-
-            if (tech == ImsRegistrationImplBase.REGISTRATION_TECH_NR
-                    || tech == ImsRegistrationImplBase.REGISTRATION_TECH_CROSS_SIM) {
-                loge("getImsProvisioningStatusForCapability: called for technology that does "
-                        + "not support provisioning - " + tech);
-                return true;
-            }
-
-            ImsManager ims = ImsManager.getInstance(mApp, getSlotIndex(subId));
-            switch (capability) {
-                case MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_VOICE: {
-                    if (tech == ImsRegistrationImplBase.REGISTRATION_TECH_LTE) {
-                        return ims.isVolteProvisionedOnDevice();
-                    } else if (tech == ImsRegistrationImplBase.REGISTRATION_TECH_IWLAN) {
-                        return ims.isWfcProvisionedOnDevice();
-                    }
-                    // This should never happen, since we are checking tech above to make sure it
-                    // is either LTE or IWLAN.
-                    throw new IllegalArgumentException("Invalid radio technology for voice "
-                            + "capability.");
-                }
-                case MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_VIDEO: {
-                    // There is currently no difference in VT provisioning type.
-                    return ims.isVtProvisionedOnDevice();
-                }
-                case MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_UT: {
-                    // There is no "deprecated" UT provisioning mechanism, so get from shared prefs.
-                    return isMmTelCapabilityProvisionedInCache(subId, capability, tech);
-                }
-                default: {
-                    throw new IllegalArgumentException(
-                            "Tried to get provisioning for MmTel capability '" + capability
-                                    + "', which does not require provisioning.");
-                }
-            }
-
+            return controller.getImsProvisioningStatusForCapability(subId, capability, tech);
         } finally {
             Binder.restoreCallingIdentity(identity);
         }
     }
 
     @Override
-    public boolean isMmTelCapabilityProvisionedInCache(int subId, int capability, int tech) {
-        if (tech != ImsRegistrationImplBase.REGISTRATION_TECH_IWLAN
-                && tech != ImsRegistrationImplBase.REGISTRATION_TECH_LTE) {
-            throw new IllegalArgumentException("Registration technology '" + tech + "' is invalid");
+    public boolean isProvisioningRequiredForCapability(int subId, int capability, int tech) {
+        TelephonyPermissions.enforceCallingOrSelfReadPrecisePhoneStatePermissionOrCarrierPrivilege(
+                mApp, subId, "isProvisioningRequiredForCapability");
+
+        final long identity = Binder.clearCallingIdentity();
+        try {
+            ImsProvisioningController controller = ImsProvisioningController.getInstance();
+            if (controller == null) {
+                loge("isProvisioningRequiredForCapability: Device does not support IMS");
+
+                // device does not support IMS, this method will return false
+                return false;
+            }
+            return controller.isImsProvisioningRequiredForCapability(subId, capability, tech);
+        } finally {
+            Binder.restoreCallingIdentity(identity);
         }
-        enforceReadPrivilegedPermission("isMmTelCapabilityProvisionedInCache");
-        int provisionedBits = getMmTelCapabilityProvisioningBitfield(subId, tech);
-        return (provisionedBits & capability) > 0;
     }
 
     @Override
-    public void cacheMmTelCapabilityProvisioning(int subId, int capability, int tech,
-            boolean isProvisioned) {
-        if (tech != ImsRegistrationImplBase.REGISTRATION_TECH_IWLAN
-                && tech != ImsRegistrationImplBase.REGISTRATION_TECH_LTE) {
-            throw new IllegalArgumentException("Registration technology '" + tech + "' is invalid");
-        }
-        TelephonyPermissions.enforceCallingOrSelfModifyPermissionOrCarrierPrivilege(mApp, subId,
-                "setProvisioningStatusForCapability");
-        int provisionedBits = getMmTelCapabilityProvisioningBitfield(subId, tech);
-        // If the current provisioning status for capability already matches isProvisioned,
-        // do nothing.
-        if (((provisionedBits & capability) > 0) == isProvisioned) {
-            return;
-        }
-        if (isProvisioned) {
-            setMmTelCapabilityProvisioningBitfield(subId, tech, (provisionedBits | capability));
-        } else {
-            setMmTelCapabilityProvisioningBitfield(subId, tech, (provisionedBits & ~capability));
-        }
-    }
+    public boolean isRcsProvisioningRequiredForCapability(int subId, int capability, int tech) {
+        TelephonyPermissions.enforceCallingOrSelfReadPrecisePhoneStatePermissionOrCarrierPrivilege(
+                mApp, subId, "isProvisioningRequiredForCapability");
 
-    /**
-     * @return the bitfield containing the MmTel provisioning for the provided subscription and
-     * technology. The bitfield should mirror the bitfield defined by
-     * {@link MmTelFeature.MmTelCapabilities.MmTelCapability}.
-     */
-    private int getMmTelCapabilityProvisioningBitfield(int subId, int tech) {
-        String key = getMmTelProvisioningKey(subId, tech);
-        // Default is no capabilities are provisioned.
-        return mTelephonySharedPreferences.getInt(key, 0 /*default*/);
-    }
+        final long identity = Binder.clearCallingIdentity();
+        try {
+            ImsProvisioningController controller = ImsProvisioningController.getInstance();
+            if (controller == null) {
+                loge("isRcsProvisioningRequiredForCapability: Device does not support IMS");
 
-    /**
-     * Sets the MmTel capability provisioning bitfield (defined by
-     *     {@link MmTelFeature.MmTelCapabilities.MmTelCapability}) for the subscription and
-     *     technology specified.
-     *
-     * Note: This is a synchronous command and should not be called on UI thread.
-     */
-    private void setMmTelCapabilityProvisioningBitfield(int subId, int tech, int newField) {
-        final SharedPreferences.Editor editor = mTelephonySharedPreferences.edit();
-        String key = getMmTelProvisioningKey(subId, tech);
-        editor.putInt(key, newField);
-        editor.commit();
-    }
-
-    private static String getMmTelProvisioningKey(int subId, int tech) {
-        // resulting key is provision_ims_mmtel_{subId}_{tech}
-        return PREF_PROVISION_IMS_MMTEL_PREFIX + subId + "_" + tech;
-    }
-
-    /**
-     * Query CarrierConfig to see if the specified capability requires provisioning for the
-     * carrier associated with the subscription id.
-     */
-    private boolean doesImsCapabilityRequireProvisioning(Context context, int subId,
-            int capability) {
-        CarrierConfigManager configManager = new CarrierConfigManager(context);
-        PersistableBundle c = configManager.getConfigForSubId(subId);
-        boolean requireUtProvisioning = c.getBoolean(
-                CarrierConfigManager.KEY_CARRIER_SUPPORTS_SS_OVER_UT_BOOL, false)
-                && c.getBoolean(CarrierConfigManager.KEY_CARRIER_UT_PROVISIONING_REQUIRED_BOOL,
-                false);
-        boolean requireVoiceVtProvisioning = c.getBoolean(
-                CarrierConfigManager.KEY_CARRIER_VOLTE_PROVISIONING_REQUIRED_BOOL, false);
-
-        // First check to make sure that the capability requires provisioning.
-        switch (capability) {
-            case MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_VOICE:
-                // intentional fallthrough
-            case MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_VIDEO: {
-                if (requireVoiceVtProvisioning) {
-                    // Voice and Video requires provisioning
-                    return true;
-                }
-                break;
+                // device does not support IMS, this method will return false
+                return false;
             }
-            case MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_UT: {
-                if (requireUtProvisioning) {
-                    // UT requires provisioning
-                    return true;
-                }
-                break;
-            }
+            return controller.isRcsProvisioningRequiredForCapability(subId, capability, tech);
+        } finally {
+            Binder.restoreCallingIdentity(identity);
         }
-        return false;
-    }
-
-    private boolean doesRcsCapabilityRequireProvisioning(Context context, int subId,
-            int capability) {
-        CarrierConfigManager configManager = new CarrierConfigManager(context);
-        PersistableBundle c = configManager.getConfigForSubId(subId);
-
-        boolean requireRcsProvisioning = c.getBoolean(
-                CarrierConfigManager.KEY_CARRIER_RCS_PROVISIONING_REQUIRED_BOOL, false);
-
-        // First check to make sure that the capability requires provisioning.
-        switch (capability) {
-            case RcsFeature.RcsImsCapabilities.CAPABILITY_TYPE_PRESENCE_UCE:
-                // intentional fallthrough
-            case RcsFeature.RcsImsCapabilities.CAPABILITY_TYPE_OPTIONS_UCE: {
-                if (requireRcsProvisioning) {
-                    // OPTION or PRESENCE requires provisioning
-                    return true;
-                }
-                break;
-            }
-        }
-        return false;
     }
 
     @Override
@@ -4880,7 +4812,9 @@
         if (!SubscriptionManager.isValidSubscriptionId(subId)) {
             throw new IllegalArgumentException("Invalid Subscription id '" + subId + "'");
         }
-        enforceReadPrivilegedPermission("getImsProvisioningInt");
+        TelephonyPermissions.enforceCallingOrSelfReadPrecisePhoneStatePermissionOrCarrierPrivilege(
+                mApp, subId, "getImsProvisioningInt");
+
         final long identity = Binder.clearCallingIdentity();
         try {
             // TODO: Refactor to remove ImsManager dependence and query through ImsPhone directly.
@@ -4890,6 +4824,19 @@
                         + subId + "' for key:" + key);
                 return ImsConfigImplBase.CONFIG_RESULT_UNKNOWN;
             }
+
+            ImsProvisioningController controller = ImsProvisioningController.getInstance();
+            if (controller == null) {
+                loge("getImsProvisioningInt: Device does not support IMS");
+
+                // device does not support IMS, this method will return CONFIG_RESULT_UNKNOWN.
+                return ImsConfigImplBase.CONFIG_RESULT_UNKNOWN;
+            }
+            int retVal = controller.getProvisioningValue(subId, key);
+            if (retVal != ImsConfigImplBase.CONFIG_RESULT_UNKNOWN) {
+                return retVal;
+            }
+
             return ImsManager.getInstance(mApp, slotId).getConfigInt(key);
         } catch (com.android.ims.ImsException e) {
             Log.w(LOG_TAG, "getImsProvisioningInt: ImsService is not available for subscription '"
@@ -4905,7 +4852,9 @@
         if (!SubscriptionManager.isValidSubscriptionId(subId)) {
             throw new IllegalArgumentException("Invalid Subscription id '" + subId + "'");
         }
-        enforceReadPrivilegedPermission("getImsProvisioningString");
+        TelephonyPermissions.enforceCallingOrSelfReadPrecisePhoneStatePermissionOrCarrierPrivilege(
+                mApp, subId, "getImsProvisioningString");
+
         final long identity = Binder.clearCallingIdentity();
         try {
             // TODO: Refactor to remove ImsManager dependence and query through ImsPhone directly.
@@ -4932,6 +4881,7 @@
         }
         TelephonyPermissions.enforceCallingOrSelfModifyPermissionOrCarrierPrivilege(mApp, subId,
                 "setImsProvisioningInt");
+
         final long identity = Binder.clearCallingIdentity();
         try {
             // TODO: Refactor to remove ImsManager dependence and query through ImsPhone directly.
@@ -4941,6 +4891,19 @@
                         + subId + "' for key:" + key);
                 return ImsConfigImplBase.CONFIG_RESULT_FAILED;
             }
+
+            ImsProvisioningController controller = ImsProvisioningController.getInstance();
+            if (controller == null) {
+                loge("setImsProvisioningInt: Device does not support IMS");
+
+                // device does not support IMS, this method will return CONFIG_RESULT_FAILED.
+                return ImsConfigImplBase.CONFIG_RESULT_FAILED;
+            }
+            int retVal = controller.setProvisioningValue(subId, key, value);
+            if (retVal != ImsConfigImplBase.CONFIG_RESULT_UNKNOWN) {
+                return retVal;
+            }
+
             return ImsManager.getInstance(mApp, slotId).setConfig(key, value);
         } catch (com.android.ims.ImsException | RemoteException e) {
             Log.w(LOG_TAG, "setImsProvisioningInt: ImsService unavailable for sub '" + subId
@@ -5059,10 +5022,13 @@
     @Override
     public int getDataNetworkTypeForSubscriber(int subId, String callingPackage,
             String callingFeatureId) {
-        if (!TelephonyPermissions.checkCallingOrSelfReadPhoneState(
-                mApp, subId, callingPackage, callingFeatureId,
-                "getDataNetworkTypeForSubscriber")) {
-            return TelephonyManager.NETWORK_TYPE_UNKNOWN;
+        String functionName = "getDataNetworkTypeForSubscriber";
+        if (!TelephonyPermissions.checkCallingOrSelfReadNonDangerousPhoneStateNoThrow(
+                mApp, functionName)) {
+            if (!TelephonyPermissions.checkCallingOrSelfReadPhoneState(
+                    mApp, subId, callingPackage, callingFeatureId, functionName)) {
+                return TelephonyManager.NETWORK_TYPE_UNKNOWN;
+            }
         }
 
         final long identity = Binder.clearCallingIdentity();
@@ -5084,10 +5050,13 @@
     @Override
     public int getVoiceNetworkTypeForSubscriber(int subId, String callingPackage,
             String callingFeatureId) {
-        if (!TelephonyPermissions.checkCallingOrSelfReadPhoneState(
-                mApp, subId, callingPackage, callingFeatureId,
-                "getDataNetworkTypeForSubscriber")) {
-            return TelephonyManager.NETWORK_TYPE_UNKNOWN;
+        String functionName = "getVoiceNetworkTypeForSubscriber";
+        if (!TelephonyPermissions.checkCallingOrSelfReadNonDangerousPhoneStateNoThrow(
+                mApp, functionName)) {
+            if (!TelephonyPermissions.checkCallingOrSelfReadPhoneState(
+                    mApp, subId, callingPackage, callingFeatureId, functionName)) {
+                return TelephonyManager.NETWORK_TYPE_UNKNOWN;
+            }
         }
 
         final long identity = Binder.clearCallingIdentity();
@@ -5221,51 +5190,55 @@
         return TelephonyManager.WifiCallingChoices.ALWAYS_USE;
     }
 
-    private Phone getPhoneFromSlotIdOrThrowException(int slotIndex) {
-        int phoneId = UiccController.getInstance().getPhoneIdFromSlotId(slotIndex);
+    private Phone getPhoneFromSlotPortIndexOrThrowException(int slotIndex, int portIndex) {
+        int phoneId = UiccController.getInstance().getPhoneIdFromSlotPortIndex(slotIndex,
+                portIndex);
         if (phoneId == -1) {
-            throw new IllegalArgumentException("Given slot index: " + slotIndex
-                    + " does not correspond to an active phone");
+            throw new IllegalArgumentException("Given slot index: " + slotIndex + " port index: "
+                     + portIndex + " does not correspond to an active phone");
         }
         return PhoneFactory.getPhone(phoneId);
     }
 
     @Override
     public IccOpenLogicalChannelResponse iccOpenLogicalChannel(
-            int subId, String callingPackage, String aid, int p2) {
-        TelephonyPermissions.enforceCallingOrSelfModifyPermissionOrCarrierPrivilege(
-                mApp, subId, "iccOpenLogicalChannel");
-        mAppOps.checkPackage(Binder.getCallingUid(), callingPackage);
-        if (DBG) {
-            log("iccOpenLogicalChannel: subId=" + subId + " aid=" + aid + " p2=" + p2);
-        }
-        return iccOpenLogicalChannelWithPermission(getPhoneFromSubId(subId), callingPackage, aid,
-                p2);
+            @NonNull IccLogicalChannelRequest request) {
+        Phone phone = getPhoneFromValidIccLogicalChannelRequest(request,
+                /*message=*/ "iccOpenLogicalChannel");
+
+        if (DBG) log("iccOpenLogicalChannel: request=" + request);
+        // Verify that the callingPackage in the request belongs to the calling UID
+        mAppOps.checkPackage(Binder.getCallingUid(), request.callingPackage);
+
+        return iccOpenLogicalChannelWithPermission(phone, request);
     }
 
-
-    @Override
-    public IccOpenLogicalChannelResponse iccOpenLogicalChannelBySlot(
-            int slotIndex, String callingPackage, String aid, int p2) {
-        enforceModifyPermission();
-        mAppOps.checkPackage(Binder.getCallingUid(), callingPackage);
-        if (DBG) {
-            log("iccOpenLogicalChannelBySlot: slot=" + slotIndex + " aid=" + aid + " p2=" + p2);
+    private Phone getPhoneFromValidIccLogicalChannelRequest(
+            @NonNull IccLogicalChannelRequest request, String message) {
+        Phone phone;
+        if (request.subId != SubscriptionManager.INVALID_SUBSCRIPTION_ID) {
+            TelephonyPermissions.enforceCallingOrSelfModifyPermissionOrCarrierPrivilege(
+                    mApp, request.subId, message);
+            phone = getPhoneFromSubId(request.subId);
+        } else if (request.slotIndex != SubscriptionManager.INVALID_SIM_SLOT_INDEX) {
+            enforceModifyPermission();
+            phone = getPhoneFromSlotPortIndexOrThrowException(request.slotIndex, request.portIndex);
+        } else {
+            throw new IllegalArgumentException("Both subId and slotIndex in request are invalid.");
         }
-        return iccOpenLogicalChannelWithPermission(getPhoneFromSlotIdOrThrowException(slotIndex),
-                callingPackage, aid, p2);
+        return phone;
     }
 
     private IccOpenLogicalChannelResponse iccOpenLogicalChannelWithPermission(Phone phone,
-            String callingPackage, String aid, int p2) {
+            IccLogicalChannelRequest channelRequest) {
         final long identity = Binder.clearCallingIdentity();
         try {
-            if (TextUtils.equals(ISDR_AID, aid)) {
+            if (TextUtils.equals(ISDR_AID, channelRequest.aid)) {
                 // Only allows LPA to open logical channel to ISD-R.
                 ComponentInfo bestComponent = EuiccConnector.findBestComponent(getDefaultPhone()
                         .getContext().getPackageManager());
-                if (bestComponent == null
-                        || !TextUtils.equals(callingPackage, bestComponent.packageName)) {
+                if (bestComponent == null || !TextUtils.equals(channelRequest.callingPackage,
+                        bestComponent.packageName)) {
                     loge("The calling package is not allowed to access ISD-R.");
                     throw new SecurityException(
                             "The calling package is not allowed to access ISD-R.");
@@ -5273,9 +5246,8 @@
             }
 
             IccOpenLogicalChannelResponse response = (IccOpenLogicalChannelResponse) sendRequest(
-                    CMD_OPEN_CHANNEL, new Pair<String, Integer>(aid, p2), phone,
-                    null /* workSource */);
-            if (DBG) log("iccOpenLogicalChannelWithPermission: " + response);
+                    CMD_OPEN_CHANNEL, channelRequest, phone, null /* workSource */);
+            if (DBG) log("iccOpenLogicalChannelWithPermission: response=" + response);
             return response;
         } finally {
             Binder.restoreCallingIdentity(identity);
@@ -5283,30 +5255,43 @@
     }
 
     @Override
-    public boolean iccCloseLogicalChannel(int subId, int channel) {
-        TelephonyPermissions.enforceCallingOrSelfModifyPermissionOrCarrierPrivilege(
-                mApp, subId, "iccCloseLogicalChannel");
-        if (DBG) log("iccCloseLogicalChannel: subId=" + subId + " chnl=" + channel);
-        return iccCloseLogicalChannelWithPermission(getPhoneFromSubId(subId), channel);
+    public boolean iccCloseLogicalChannel(@NonNull IccLogicalChannelRequest request) {
+        Phone phone = getPhoneFromValidIccLogicalChannelRequest(request,
+                /*message=*/"iccCloseLogicalChannel");
+
+        if (DBG) log("iccCloseLogicalChannel: request=" + request);
+
+        return iccCloseLogicalChannelWithPermission(phone, request);
     }
 
-    @Override
-    public boolean iccCloseLogicalChannelBySlot(int slotIndex, int channel) {
-        enforceModifyPermission();
-        if (DBG) log("iccCloseLogicalChannelBySlot: slotIndex=" + slotIndex + " chnl=" + channel);
-        return iccCloseLogicalChannelWithPermission(getPhoneFromSlotIdOrThrowException(slotIndex),
-                channel);
-    }
-
-    private boolean iccCloseLogicalChannelWithPermission(Phone phone, int channel) {
+    private boolean iccCloseLogicalChannelWithPermission(Phone phone,
+            IccLogicalChannelRequest request) {
+        // before this feature is enabled, this API should only return false if
+        // the operation fails instead of throwing runtime exception for
+        // backward-compatibility.
+        final boolean shouldThrowExceptionOnFailure = CompatChanges.isChangeEnabled(
+                ICC_CLOSE_CHANNEL_EXCEPTION_ON_FAILURE, Binder.getCallingUid());
         final long identity = Binder.clearCallingIdentity();
         try {
-            if (channel < 0) {
-                return false;
+            if (request.channel < 0) {
+                throw new IllegalArgumentException("request.channel is less than 0");
             }
-            Boolean success = (Boolean) sendRequest(CMD_CLOSE_CHANNEL, channel, phone,
+            Object result = sendRequest(CMD_CLOSE_CHANNEL, request.channel, phone,
                     null /* workSource */);
-            if (DBG) log("iccCloseLogicalChannelWithPermission: " + success);
+            Boolean success = false;
+            if (result instanceof RuntimeException) {
+                // if there is an exception returned, throw from the binder thread here.
+                if (shouldThrowExceptionOnFailure) {
+                    throw (RuntimeException) result;
+                } else {
+                    return false;
+                }
+            } else if (result instanceof Boolean) {
+                success = (Boolean) result;
+            } else {
+                loge("iccCloseLogicalChannelWithPermission: supported return type " + result);
+            }
+            if (DBG) log("iccCloseLogicalChannelWithPermission: success=" + success);
             return success;
         } finally {
             Binder.restoreCallingIdentity(identity);
@@ -5328,17 +5313,17 @@
     }
 
     @Override
-    public String iccTransmitApduLogicalChannelBySlot(int slotIndex, int channel, int cla,
-            int command, int p1, int p2, int p3, String data) {
+    public String iccTransmitApduLogicalChannelByPort(int slotIndex, int portIndex, int channel,
+             int cla, int command, int p1, int p2, int p3, String data) {
         enforceModifyPermission();
         if (DBG) {
-            log("iccTransmitApduLogicalChannelBySlot: slotIndex=" + slotIndex + " chnl=" + channel
-                    + " cla=" + cla + " cmd=" + command + " p1=" + p1 + " p2=" + p2 + " p3="
-                    + p3 + " data=" + data);
+            log("iccTransmitApduLogicalChannelByPort: slotIndex=" + slotIndex + " portIndex="
+                     + portIndex + " chnl=" + channel + " cla=" + cla + " cmd=" + command + " p1="
+                     + p1 + " p2=" + p2 + " p3=" + p3 + " data=" + data);
         }
         return iccTransmitApduLogicalChannelWithPermission(
-                getPhoneFromSlotIdOrThrowException(slotIndex), channel, cla, command, p1, p2, p3,
-                data);
+                getPhoneFromSlotPortIndexOrThrowException(slotIndex, portIndex), channel, cla,
+                command, p1, p2, p3, data);
     }
 
     private String iccTransmitApduLogicalChannelWithPermission(Phone phone, int channel, int cla,
@@ -5381,19 +5366,19 @@
     }
 
     @Override
-    public String iccTransmitApduBasicChannelBySlot(int slotIndex, String callingPackage, int cla,
-            int command, int p1, int p2, int p3, String data) {
+    public String iccTransmitApduBasicChannelByPort(int slotIndex, int portIndex,
+             String callingPackage, int cla, int command, int p1, int p2, int p3, String data) {
         enforceModifyPermission();
         mAppOps.checkPackage(Binder.getCallingUid(), callingPackage);
         if (DBG) {
-            log("iccTransmitApduBasicChannelBySlot: slotIndex=" + slotIndex + " cla=" + cla
-                    + " cmd=" + command + " p1=" + p1 + " p2=" + p2 + " p3=" + p3
-                    + " data=" + data);
+            log("iccTransmitApduBasicChannelByPort: slotIndex=" + slotIndex + " portIndex="
+                     + portIndex + " cla=" + cla + " cmd=" + command + " p1=" + p1 + " p2="
+                     + p2 + " p3=" + p3 + " data=" + data);
         }
 
         return iccTransmitApduBasicChannelWithPermission(
-                getPhoneFromSlotIdOrThrowException(slotIndex), callingPackage, cla, command, p1,
-                p2, p3, data);
+                getPhoneFromSlotPortIndexOrThrowException(slotIndex, portIndex), callingPackage,
+                cla, command, p1, p2, p3, data);
     }
 
     // open APDU basic channel assuming the caller has sufficient permissions
@@ -5690,22 +5675,6 @@
         return false;
     }
 
-    public String[] getPcscfAddress(String apnType, String callingPackage,
-            String callingFeatureId) {
-        final Phone defaultPhone = getDefaultPhone();
-        if (!TelephonyPermissions.checkCallingOrSelfReadPhoneState(mApp, defaultPhone.getSubId(),
-                callingPackage, callingFeatureId, "getPcscfAddress")) {
-            return new String[0];
-        }
-
-        final long identity = Binder.clearCallingIdentity();
-        try {
-            return defaultPhone.getPcscfAddress(apnType);
-        } finally {
-            Binder.restoreCallingIdentity(identity);
-        }
-    }
-
     /**
      * Toggle IMS disable and enable for the framework to reset it. See {@link #enableIms(int)} and
      * {@link #disableIms(int)}.
@@ -6313,28 +6282,35 @@
      * Starts a new network scan and returns the id of this scan.
      *
      * @param subId id of the subscription
+     * @param renounceFineLocationAccess Set this to true if the caller would not like to receive
+     * location related information which will be sent if the caller already possess
+     * {@android.Manifest.permission.ACCESS_FINE_LOCATION} and do not renounce the permission
      * @param request contains the radio access networks with bands/channels to scan
      * @param messenger callback messenger for scan results or errors
      * @param binder for the purpose of auto clean when the user thread crashes
      * @return the id of the requested scan which can be used to stop the scan.
      */
     @Override
-    public int requestNetworkScan(int subId, NetworkScanRequest request, Messenger messenger,
+    public int requestNetworkScan(int subId, boolean renounceFineLocationAccess,
+            NetworkScanRequest request, Messenger messenger,
             IBinder binder, String callingPackage, String callingFeatureId) {
         TelephonyPermissions.enforceCallingOrSelfModifyPermissionOrCarrierPrivilege(
                 mApp, subId, "requestNetworkScan");
         LocationAccessPolicy.LocationPermissionResult locationResult =
-                LocationAccessPolicy.checkLocationPermission(mApp,
-                        new LocationAccessPolicy.LocationPermissionQuery.Builder()
-                                .setCallingPackage(callingPackage)
-                                .setCallingFeatureId(callingFeatureId)
-                                .setCallingPid(Binder.getCallingPid())
-                                .setCallingUid(Binder.getCallingUid())
-                                .setMethod("requestNetworkScan")
-                                .setMinSdkVersionForFine(Build.VERSION_CODES.Q)
-                                .setMinSdkVersionForCoarse(Build.VERSION_CODES.Q)
-                                .setMinSdkVersionForEnforcement(Build.VERSION_CODES.Q)
-                                .build());
+                LocationAccessPolicy.LocationPermissionResult.DENIED_HARD;
+        if (!renounceFineLocationAccess) {
+            locationResult = LocationAccessPolicy.checkLocationPermission(mApp,
+                            new LocationAccessPolicy.LocationPermissionQuery.Builder()
+                                    .setCallingPackage(callingPackage)
+                                    .setCallingFeatureId(callingFeatureId)
+                                    .setCallingPid(Binder.getCallingPid())
+                                    .setCallingUid(Binder.getCallingUid())
+                                    .setMethod("requestNetworkScan")
+                                    .setMinSdkVersionForFine(Build.VERSION_CODES.Q)
+                                    .setMinSdkVersionForCoarse(Build.VERSION_CODES.Q)
+                                    .setMinSdkVersionForEnforcement(Build.VERSION_CODES.Q)
+                                    .build());
+        }
         if (locationResult != LocationAccessPolicy.LocationPermissionResult.ALLOWED) {
             SecurityException e = checkNetworkRequestForSanitizedLocationAccess(
                     request, subId, callingPackage);
@@ -6352,7 +6328,7 @@
         final long identity = Binder.clearCallingIdentity();
         try {
             return mNetworkScanRequestTracker.startNetworkScan(
-                    request, messenger, binder, getPhone(subId),
+                    renounceFineLocationAccess, request, messenger, binder, getPhone(subId),
                     callingUid, callingPid, callingPackage);
         } finally {
             Binder.restoreCallingIdentity(identity);
@@ -6578,34 +6554,6 @@
     }
 
     /**
-     * Enable or disable always reporting signal strength changes from radio.
-     *
-     * @param isEnable {@code true} for enabling; {@code false} for disabling.
-     */
-    @Override
-    public void setAlwaysReportSignalStrength(int subId, boolean isEnable) {
-        enforceModifyPermission();
-        enforceSystemCaller();
-
-        final long identity = Binder.clearCallingIdentity();
-        final Phone phone = getPhone(subId);
-        try {
-            if (phone != null) {
-                if (DBG) {
-                    log("setAlwaysReportSignalStrength: subId=" + subId
-                            + " isEnable=" + isEnable);
-                }
-                phone.setAlwaysReportSignalStrength(isEnable);
-            } else {
-                loge("setAlwaysReportSignalStrength: no phone found for subId="
-                        + subId);
-            }
-        } finally {
-            Binder.restoreCallingIdentity(identity);
-        }
-    }
-
-    /**
      * Get the user enabled state of Mobile Data.
      *
      * TODO: remove and use isUserDataEnabled.
@@ -6626,18 +6574,25 @@
      * There are other factors deciding whether mobile data is actually enabled, but they are
      * not considered here. See {@link #isDataEnabled(int)} for more details.
      *
-     * Accepts either ACCESS_NETWORK_STATE, MODIFY_PHONE_STATE or carrier privileges.
+     * Accepts either READ_BASIC_PHONE_STATE, ACCESS_NETWORK_STATE, MODIFY_PHONE_STATE
+     * or carrier privileges.
      *
      * @return {@code true} if data is enabled else {@code false}
      */
     @Override
     public boolean isUserDataEnabled(int subId) {
+        String functionName = "isUserDataEnabled";
         try {
-            mApp.enforceCallingOrSelfPermission(android.Manifest.permission.ACCESS_NETWORK_STATE,
-                    null);
+            try {
+                mApp.enforceCallingOrSelfPermission(permission.READ_BASIC_PHONE_STATE,
+                        functionName);
+            } catch (Exception e) {
+                mApp.enforceCallingOrSelfPermission(permission.ACCESS_NETWORK_STATE, functionName);
+            }
         } catch (Exception e) {
             TelephonyPermissions.enforceCallingOrSelfModifyPermissionOrCarrierPrivilege(
-                    mApp, subId, "isUserDataEnabled");
+                    mApp, subId, functionName);
+
         }
 
         final long identity = Binder.clearCallingIdentity();
@@ -6667,27 +6622,38 @@
      */
     @Override
     public boolean isDataEnabled(int subId) {
+        String functionName = "isDataEnabled";
         try {
             try {
                 mApp.enforceCallingOrSelfPermission(
                         android.Manifest.permission.ACCESS_NETWORK_STATE,
-                        null);
+                        functionName);
             } catch (Exception e) {
-                mApp.enforceCallingOrSelfPermission(android.Manifest.permission.READ_PHONE_STATE,
-                        "isDataEnabled");
+                try {
+                    mApp.enforceCallingOrSelfPermission(
+                            android.Manifest.permission.READ_PHONE_STATE,
+                            functionName);
+                } catch (Exception e2) {
+                    mApp.enforceCallingOrSelfPermission(
+                            permission.READ_BASIC_PHONE_STATE, functionName);
+                }
             }
         } catch (Exception e) {
-            enforceReadPrivilegedPermission("isDataEnabled");
+            enforceReadPrivilegedPermission(functionName);
         }
 
         final long identity = Binder.clearCallingIdentity();
         try {
             int phoneId = mSubscriptionController.getPhoneId(subId);
-            if (DBG) log("isDataEnabled: subId=" + subId + " phoneId=" + phoneId);
             Phone phone = PhoneFactory.getPhone(phoneId);
             if (phone != null) {
-                boolean retVal = phone.getDataEnabledSettings().isDataEnabled();
-                if (DBG) log("isDataEnabled: subId=" + subId + " retVal=" + retVal);
+                boolean retVal;
+                if (phone.isUsingNewDataStack()) {
+                    retVal = phone.getDataSettingsManager().isDataEnabled();
+                } else {
+                    retVal = phone.getDataEnabledSettings().isDataEnabled();
+                }
+                if (DBG) log("isDataEnabled: " + retVal + ", subId=" + subId);
                 return retVal;
             } else {
                 if (DBG) loge("isDataEnabled: no phone subId=" + subId + " retVal=false");
@@ -6707,12 +6673,24 @@
     @Override
     public boolean isDataEnabledForReason(int subId,
             @TelephonyManager.DataEnabledReason int reason) {
+        String functionName = "isDataEnabledForReason";
         try {
-            mApp.enforceCallingOrSelfPermission(android.Manifest.permission.ACCESS_NETWORK_STATE,
-                    null);
+            try {
+                mApp.enforceCallingOrSelfPermission(
+                        android.Manifest.permission.ACCESS_NETWORK_STATE,
+                        functionName);
+            } catch (Exception e) {
+                mApp.enforceCallingOrSelfPermission(permission.READ_BASIC_PHONE_STATE,
+                        functionName);
+            }
         } catch (Exception e) {
-            mApp.enforceCallingOrSelfPermission(android.Manifest.permission.READ_PHONE_STATE,
-                    "isDataEnabledForReason");
+            try {
+                mApp.enforceCallingOrSelfPermission(android.Manifest.permission.READ_PHONE_STATE,
+                        functionName);
+            } catch (Exception e2) {
+                TelephonyPermissions.enforceCallingOrSelfModifyPermissionOrCarrierPrivilege(
+                        mApp, subId, functionName);
+            }
         }
 
 
@@ -6726,10 +6704,14 @@
             Phone phone = PhoneFactory.getPhone(phoneId);
             if (phone != null) {
                 boolean retVal;
-                if (reason == TelephonyManager.DATA_ENABLED_REASON_USER) {
-                    retVal = phone.isUserDataEnabled();
+                if (phone.isUsingNewDataStack()) {
+                    retVal = phone.getDataSettingsManager().isDataEnabledForReason(reason);
                 } else {
-                    retVal = phone.getDataEnabledSettings().isDataEnabledForReason(reason);
+                    if (reason == TelephonyManager.DATA_ENABLED_REASON_USER) {
+                        retVal = phone.isUserDataEnabled();
+                    } else {
+                        retVal = phone.getDataEnabledSettings().isDataEnabledForReason(reason);
+                    }
                 }
                 if (DBG) log("isDataEnabledForReason: retVal=" + retVal);
                 return retVal;
@@ -6745,141 +6727,30 @@
         }
     }
 
-    private int getCarrierPrivilegeStatusFromCarrierConfigRules(int privilegeFromSim, int uid,
-            Phone phone) {
-        if (uid == Process.PHONE_UID) {
-            // Skip the check if it's the phone UID (system UID removed in b/184713596)
-            // TODO (b/184954344): Check for system/phone UID at call site instead of here
-            return TelephonyManager.CARRIER_PRIVILEGE_STATUS_HAS_ACCESS;
-        }
-
-        //load access rules from carrier configs, and check those as well: b/139133814
-        SubscriptionController subController = SubscriptionController.getInstance();
-        if (privilegeFromSim == TelephonyManager.CARRIER_PRIVILEGE_STATUS_HAS_ACCESS
-                || subController == null) return privilegeFromSim;
-
-        PackageManager pkgMgr = phone.getContext().getPackageManager();
-        String[] packages = pkgMgr.getPackagesForUid(uid);
-        if (packages == null) {
-            return privilegeFromSim;
-        }
-
-        final long identity = Binder.clearCallingIdentity();
-        try {
-            int subId = phone.getSubId();
-            if (mCarrierPrivilegeTestOverrideSubIds.contains(subId)) {
-                // A test override is in place for the privileges for this subId, so don't try to
-                // read the subscription privileges.
-                return privilegeFromSim;
-            }
-            SubscriptionInfo subInfo = subController.getSubscriptionInfo(subId);
-            List<UiccAccessRule> carrierConfigAccessRules = subInfo.getCarrierConfigAccessRules();
-
-            for (String pkg : packages) {
-                if (hasCarrierConfigAccess(pkg, pkgMgr, carrierConfigAccessRules)) {
-                    return TelephonyManager.CARRIER_PRIVILEGE_STATUS_HAS_ACCESS;
-                }
-            }
-            return privilegeFromSim;
-        } finally {
-            Binder.restoreCallingIdentity(identity);
-        }
-    }
-
-    private int getCarrierPrivilegeStatusFromCarrierConfigRules(int privilegeFromSim, Phone phone,
-            String pkgName) {
-        //load access rules from carrier configs, and check those as well: b/139133814
-        SubscriptionController subController = SubscriptionController.getInstance();
-        if (privilegeFromSim == TelephonyManager.CARRIER_PRIVILEGE_STATUS_HAS_ACCESS
-                || subController == null) return privilegeFromSim;
-
-        final long identity = Binder.clearCallingIdentity();
-        try {
-            int subId = phone.getSubId();
-            if (mCarrierPrivilegeTestOverrideSubIds.contains(subId)) {
-                // A test override is in place for the privileges for this subId, so don't try to
-                // read the subscription privileges.
-                return privilegeFromSim;
-            }
-            SubscriptionInfo subInfo = subController.getSubscriptionInfo(subId);
-            List<UiccAccessRule> carrierConfigAccessRules = subInfo.getCarrierConfigAccessRules();
-
-            return hasCarrierConfigAccess(pkgName, phone.getContext().getPackageManager(),
-                carrierConfigAccessRules)
-                ? TelephonyManager.CARRIER_PRIVILEGE_STATUS_HAS_ACCESS : privilegeFromSim;
-        } finally {
-            Binder.restoreCallingIdentity(identity);
-        }
-    }
-
-    /**
-     * Check whether carrier privilege status can be granted to the provided app for this
-     * subscription based on the carrier config access rules of the subscription.
-     *
-     * @param packageName package name of the app to check
-     * @param packageManager package manager
-     * @param carrierConfigAccessRules carrier config access rules of the subscription
-     * @return true if the app is included in the mCarrierConfigAccessRules of this subscription.
-     */
-    private boolean hasCarrierConfigAccess(String packageName, PackageManager packageManager,
-        @NonNull List<UiccAccessRule> carrierConfigAccessRules) {
-        if ((packageName == null) || (carrierConfigAccessRules.isEmpty())) {
-            return false;
-        }
-
-        PackageInfo packageInfo;
-        try {
-            packageInfo = packageManager.getPackageInfo(packageName,
-                PackageManager.GET_SIGNING_CERTIFICATES);
-        } catch (PackageManager.NameNotFoundException e) {
-            logv("Unknown package: " + packageName);
-            return false;
-        }
-
-        for (UiccAccessRule rule : carrierConfigAccessRules) {
-            if (rule.getCarrierPrivilegeStatus(packageInfo)
-                == TelephonyManager.CARRIER_PRIVILEGE_STATUS_HAS_ACCESS) {
-                return true;
-            }
-        }
-        return false;
-    }
-
     @Override
     public int getCarrierPrivilegeStatus(int subId) {
-        final Phone phone = getPhone(subId);
-        if (phone == null) {
-            loge("getCarrierPrivilegeStatus: Invalid subId");
-            return TelephonyManager.CARRIER_PRIVILEGE_STATUS_NO_ACCESS;
-        }
-        UiccCard card = UiccController.getInstance().getUiccCard(phone.getPhoneId());
-        if (card == null) {
-            loge("getCarrierPrivilegeStatus: No UICC");
-            return TelephonyManager.CARRIER_PRIVILEGE_STATUS_RULES_NOT_LOADED;
-        }
-
-        return getCarrierPrivilegeStatusFromCarrierConfigRules(
-            card.getCarrierPrivilegeStatusForCurrentTransaction(
-                phone.getContext().getPackageManager()), Binder.getCallingUid(), phone);
+        // No permission needed; this only lets the caller inspect their own status.
+        return getCarrierPrivilegeStatusForUidWithPermission(subId, Binder.getCallingUid());
     }
 
     @Override
     public int getCarrierPrivilegeStatusForUid(int subId, int uid) {
         enforceReadPrivilegedPermission("getCarrierPrivilegeStatusForUid");
-        final Phone phone = getPhone(subId);
+        return getCarrierPrivilegeStatusForUidWithPermission(subId, uid);
+    }
+
+    private int getCarrierPrivilegeStatusForUidWithPermission(int subId, int uid) {
+        Phone phone = getPhone(subId);
         if (phone == null) {
             loge("getCarrierPrivilegeStatusForUid: Invalid subId");
             return TelephonyManager.CARRIER_PRIVILEGE_STATUS_NO_ACCESS;
         }
-        UiccProfile profile =
-                UiccController.getInstance().getUiccProfileForPhone(phone.getPhoneId());
-        if (profile == null) {
-            loge("getCarrierPrivilegeStatusForUid: No UICC");
+        CarrierPrivilegesTracker cpt = phone.getCarrierPrivilegesTracker();
+        if (cpt == null) {
+            loge("getCarrierPrivilegeStatusForUid: No CarrierPrivilegesTracker");
             return TelephonyManager.CARRIER_PRIVILEGE_STATUS_RULES_NOT_LOADED;
         }
-        return getCarrierPrivilegeStatusFromCarrierConfigRules(
-                profile.getCarrierPrivilegeStatusForUid(
-                        phone.getContext().getPackageManager(), uid), uid, phone);
+        return cpt.getCarrierPrivilegeStatusForUid(uid);
     }
 
     @Override
@@ -6888,97 +6759,80 @@
         if (TextUtils.isEmpty(pkgName)) {
             return TelephonyManager.CARRIER_PRIVILEGE_STATUS_NO_ACCESS;
         }
-
-        int phoneId = SubscriptionManager.getPhoneId(subId);
-        UiccCard card = UiccController.getInstance().getUiccCard(phoneId);
-        if (card == null) {
-            loge("checkCarrierPrivilegesForPackage: No UICC on subId " + subId);
+        Phone phone = getPhone(subId);
+        if (phone == null) {
+            loge("checkCarrierPrivilegesForPackage: Invalid subId");
+            return TelephonyManager.CARRIER_PRIVILEGE_STATUS_NO_ACCESS;
+        }
+        CarrierPrivilegesTracker cpt = phone.getCarrierPrivilegesTracker();
+        if (cpt == null) {
+            loge("checkCarrierPrivilegesForPackage: No CarrierPrivilegesTracker");
             return TelephonyManager.CARRIER_PRIVILEGE_STATUS_RULES_NOT_LOADED;
         }
-        return getCarrierPrivilegeStatusFromCarrierConfigRules(
-            card.getCarrierPrivilegeStatus(mApp.getPackageManager(), pkgName),
-            getPhone(phoneId), pkgName);
+        return cpt.getCarrierPrivilegeStatusForPackage(pkgName);
     }
 
     @Override
     public int checkCarrierPrivilegesForPackageAnyPhone(String pkgName) {
-        // TODO(b/186774706): Remove @RequiresPermission from TelephonyManager API
-        if (TextUtils.isEmpty(pkgName))
-            return TelephonyManager.CARRIER_PRIVILEGE_STATUS_NO_ACCESS;
-        int result = TelephonyManager.CARRIER_PRIVILEGE_STATUS_RULES_NOT_LOADED;
-        for (int i = 0; i < TelephonyManager.getDefault().getPhoneCount(); i++) {
-            UiccCard card = UiccController.getInstance().getUiccCard(i);
-            if (card == null) {
-              // No UICC in that slot.
-              continue;
-            }
+        enforceReadPrivilegedPermission("checkCarrierPrivilegesForPackageAnyPhone");
+        return checkCarrierPrivilegesForPackageAnyPhoneWithPermission(pkgName);
+    }
 
-            result = getCarrierPrivilegeStatusFromCarrierConfigRules(
-                card.getCarrierPrivilegeStatus(mApp.getPackageManager(), pkgName),
-                getPhone(i), pkgName);
+    private int checkCarrierPrivilegesForPackageAnyPhoneWithPermission(String pkgName) {
+        if (TextUtils.isEmpty(pkgName)) {
+            return TelephonyManager.CARRIER_PRIVILEGE_STATUS_NO_ACCESS;
+        }
+        int result = TelephonyManager.CARRIER_PRIVILEGE_STATUS_RULES_NOT_LOADED;
+        for (int phoneId = 0; phoneId < TelephonyManager.getDefault().getPhoneCount(); phoneId++) {
+            Phone phone = PhoneFactory.getPhone(phoneId);
+            if (phone == null) {
+                continue;
+            }
+            CarrierPrivilegesTracker cpt = phone.getCarrierPrivilegesTracker();
+            if (cpt == null) {
+                continue;
+            }
+            result = cpt.getCarrierPrivilegeStatusForPackage(pkgName);
             if (result == TelephonyManager.CARRIER_PRIVILEGE_STATUS_HAS_ACCESS) {
                 break;
             }
         }
-
         return result;
     }
 
     @Override
     public List<String> getCarrierPackageNamesForIntentAndPhone(Intent intent, int phoneId) {
         enforceReadPrivilegedPermission("getCarrierPackageNamesForIntentAndPhone");
-        if (!SubscriptionManager.isValidPhoneId(phoneId)) {
-            loge("phoneId " + phoneId + " is not valid.");
-            return null;
+        Phone phone = PhoneFactory.getPhone(phoneId);
+        if (phone == null) {
+            return Collections.emptyList();
         }
-        UiccCard card = UiccController.getInstance().getUiccCard(phoneId);
-        if (card == null) {
-            loge("getCarrierPackageNamesForIntentAndPhone: No UICC");
-            return null ;
+        CarrierPrivilegesTracker cpt = phone.getCarrierPrivilegesTracker();
+        if (cpt == null) {
+            return Collections.emptyList();
         }
-        return card.getCarrierPackageNamesForIntent(mApp.getPackageManager(), intent);
+        return cpt.getCarrierPackageNamesForIntent(intent);
     }
 
     @Override
     public List<String> getPackagesWithCarrierPrivileges(int phoneId) {
         enforceReadPrivilegedPermission("getPackagesWithCarrierPrivileges");
-        PackageManager pm = mApp.getPackageManager();
-        List<String> privilegedPackages = new ArrayList<>();
-        List<PackageInfo> packages = null;
-        UiccCard card = UiccController.getInstance().getUiccCard(phoneId);
-        // has UICC in that slot.
-        if (card != null) {
-            if (card.hasCarrierPrivilegeRules()) {
-                if (packages == null) {
-                    // Only check packages in user 0 for now
-                    packages = pm.getInstalledPackagesAsUser(
-                        PackageManager.MATCH_DISABLED_COMPONENTS
-                            | PackageManager.MATCH_DISABLED_UNTIL_USED_COMPONENTS
-                            | PackageManager.GET_SIGNING_CERTIFICATES,
-                            UserHandle.SYSTEM.getIdentifier());
-                }
-                for (int p = packages.size() - 1; p >= 0; p--) {
-                    PackageInfo pkgInfo = packages.get(p);
-                    if (pkgInfo != null && pkgInfo.packageName != null
-                            && getCarrierPrivilegeStatusFromCarrierConfigRules(
-                                    card.getCarrierPrivilegeStatus(pkgInfo),
-                                    getPhone(phoneId), pkgInfo.packageName)
-                            == TelephonyManager.CARRIER_PRIVILEGE_STATUS_HAS_ACCESS) {
-                        privilegedPackages.add(pkgInfo.packageName);
-                    }
-                }
-            }
+        Phone phone = PhoneFactory.getPhone(phoneId);
+        if (phone == null) {
+            return Collections.emptyList();
         }
-        return privilegedPackages;
+        CarrierPrivilegesTracker cpt = phone.getCarrierPrivilegesTracker();
+        if (cpt == null) {
+            return Collections.emptyList();
+        }
+        return new ArrayList<>(cpt.getPackagesWithCarrierPrivileges());
     }
 
     @Override
     public List<String> getPackagesWithCarrierPrivilegesForAllPhones() {
         enforceReadPrivilegedPermission("getPackagesWithCarrierPrivilegesForAllPhones");
-
+        Set<String> privilegedPackages = new ArraySet<>();
         final long identity = Binder.clearCallingIdentity();
-
-        List<String> privilegedPackages = new ArrayList<>();
         try {
             for (int i = 0; i < TelephonyManager.getDefault().getPhoneCount(); i++) {
                 privilegedPackages.addAll(getPackagesWithCarrierPrivileges(i));
@@ -6986,16 +6840,31 @@
         } finally {
             Binder.restoreCallingIdentity(identity);
         }
-        return privilegedPackages;
+        return new ArrayList<>(privilegedPackages);
+    }
+
+    @Override
+    public @Nullable String getCarrierServicePackageNameForLogicalSlot(int logicalSlotIndex) {
+        enforceReadPrivilegedPermission("getCarrierServicePackageNameForLogicalSlot");
+
+        final Phone phone = PhoneFactory.getPhone(logicalSlotIndex);
+        if (phone == null) {
+            return null;
+        }
+        final CarrierPrivilegesTracker cpt = phone.getCarrierPrivilegesTracker();
+        if (cpt == null) {
+            return null;
+        }
+        return cpt.getCarrierServicePackageName();
     }
 
     private String getIccId(int subId) {
         final Phone phone = getPhone(subId);
-        UiccCard card = phone == null ? null : phone.getUiccCard();
-        if (card == null) {
+        UiccPort port = phone == null ? null : phone.getUiccPort();
+        if (port == null) {
             return null;
         }
-        String iccId = card.getIccId();
+        String iccId = port.getIccId();
         if (TextUtils.isEmpty(iccId)) {
             return null;
         }
@@ -7652,16 +7521,6 @@
     }
 
     @Override
-    public int getSubIdForPhoneAccount(PhoneAccount phoneAccount) {
-        final long identity = Binder.clearCallingIdentity();
-        try {
-            return PhoneUtils.getSubIdForPhoneAccount(phoneAccount);
-        } finally {
-            Binder.restoreCallingIdentity(identity);
-        }
-    }
-
-    @Override
     public int getSubIdForPhoneAccountHandle(
             PhoneAccountHandle phoneAccountHandle, String callingPackage, String callingFeatureId) {
         if (!TelephonyPermissions.checkCallingOrSelfReadPhoneState(mApp, getDefaultSubscription(),
@@ -7748,7 +7607,7 @@
     }
 
     @Override
-    public void factoryReset(int subId) {
+    public void factoryReset(int subId, String callingPackage) {
         enforceSettingsPermission();
         if (mUserManager.hasUserRestriction(UserManager.DISALLOW_NETWORK_RESET)) {
             return;
@@ -7764,7 +7623,7 @@
             if (SubscriptionManager.isUsableSubIdValue(subId) && !mUserManager.hasUserRestriction(
                     UserManager.DISALLOW_CONFIG_MOBILE_NETWORKS)) {
                 setDataEnabledForReason(subId, TelephonyManager.DATA_ENABLED_REASON_USER,
-                        getDefaultDataEnabled());
+                        getDefaultDataEnabled(), callingPackage);
                 setNetworkSelectionModeAutomatic(subId);
                 Phone phone = getPhone(subId);
                 cleanUpAllowedNetworkTypes(phone, subId);
@@ -7880,8 +7739,8 @@
                 mApp.getAttributionTag());
     }
 
-    private final ModemActivityInfo mLastModemActivityInfo =
-            new ModemActivityInfo(0, 0, 0, new int[ModemActivityInfo.getNumTxPowerLevels()], 0);
+    private ActivityStatsTechSpecificInfo[] mLastModemActivitySpecificInfo = null;
+    private ModemActivityInfo mLastModemActivityInfo = null;
 
     /**
      * Responds to the ResultReceiver with the {@link android.telephony.ModemActivityInfo} object
@@ -7921,50 +7780,140 @@
             && (totalTxTimeMs <= activityDurationMs));
     }
 
+    private void updateLastModemActivityInfo(ModemActivityInfo info, int rat, int freq) {
+        int[] mergedTxTimeMs = new int [ModemActivityInfo.getNumTxPowerLevels()];
+        int[] txTimeMs = info.getTransmitTimeMillis(rat, freq);
+        int[] lastModemTxTimeMs = mLastModemActivityInfo.getTransmitTimeMillis(rat, freq);
+
+        for (int lvl = 0; lvl < mergedTxTimeMs.length; lvl++) {
+            mergedTxTimeMs[lvl] = txTimeMs[lvl] + lastModemTxTimeMs[lvl];
+        }
+
+        mLastModemActivityInfo.setTransmitTimeMillis(rat, freq, mergedTxTimeMs);
+        mLastModemActivityInfo.setReceiveTimeMillis(
+                rat,
+                freq,
+                info.getReceiveTimeMillis(rat, freq)
+                        + mLastModemActivityInfo.getReceiveTimeMillis(rat, freq));
+    }
+
+    private void updateLastModemActivityInfo(ModemActivityInfo info, int rat) {
+        int[] mergedTxTimeMs = new int [ModemActivityInfo.getNumTxPowerLevels()];
+        int[] txTimeMs = info.getTransmitTimeMillis(rat);
+        int[] lastModemTxTimeMs = mLastModemActivityInfo.getTransmitTimeMillis(rat);
+
+        for (int lvl = 0; lvl < mergedTxTimeMs.length; lvl++) {
+            mergedTxTimeMs[lvl] = txTimeMs[lvl] + lastModemTxTimeMs[lvl];
+        }
+        mLastModemActivityInfo.setTransmitTimeMillis(rat, mergedTxTimeMs);
+        mLastModemActivityInfo.setReceiveTimeMillis(
+                rat,
+                info.getReceiveTimeMillis(rat) + mLastModemActivityInfo.getReceiveTimeMillis(rat));
+    }
+
+   /**
+    * Merge this ModemActivityInfo with mLastModemActivitySpecificInfo
+    * @param info recent ModemActivityInfo
+    */
+    private void mergeModemActivityInfo(ModemActivityInfo info) {
+        List<ActivityStatsTechSpecificInfo> merged = new ArrayList<>();
+        ActivityStatsTechSpecificInfo mDeltaSpecificInfo;
+        boolean matched;
+        for (int i = 0; i < info.getSpecificInfoLength(); i++) {
+            matched = false;
+            int rat = info.getSpecificInfoRat(i);
+            int freq = info.getSpecificInfoFrequencyRange(i);
+            //Check each ActivityStatsTechSpecificInfo in this ModemActivityInfo for new rat returns
+            //Add a new ActivityStatsTechSpecificInfo if is a new rat, and merge with the original
+            //if it already exists
+            for (int j = 0; j < mLastModemActivitySpecificInfo.length; j++) {
+                if (rat == mLastModemActivityInfo.getSpecificInfoRat(j) && !matched) {
+                    //Merged based on frequency range (MMWAVE vs SUB6) for 5G
+                    if (rat == AccessNetworkConstants.AccessNetworkType.NGRAN) {
+                        if (freq == mLastModemActivityInfo.getSpecificInfoFrequencyRange(j)) {
+                            updateLastModemActivityInfo(info, rat, freq);
+                            matched = true;
+                        }
+                    } else {
+                        updateLastModemActivityInfo(info, rat);
+                        matched = true;
+                    }
+                }
+            }
+
+            if (!matched) {
+                mDeltaSpecificInfo =
+                        new ActivityStatsTechSpecificInfo(
+                                rat,
+                                freq,
+                                info.getTransmitTimeMillis(rat, freq),
+                                (int) info.getReceiveTimeMillis(rat, freq));
+                merged.addAll(Arrays.asList(mDeltaSpecificInfo));
+            }
+        }
+        merged.addAll(Arrays.asList(mLastModemActivitySpecificInfo));
+        mLastModemActivitySpecificInfo =
+                new ActivityStatsTechSpecificInfo[merged.size()];
+        merged.toArray(mLastModemActivitySpecificInfo);
+
+        mLastModemActivityInfo.setTimestamp(info.getTimestampMillis());
+        mLastModemActivityInfo.setSleepTimeMillis(
+                info.getSleepTimeMillis()
+                + mLastModemActivityInfo.getSleepTimeMillis());
+        mLastModemActivityInfo.setIdleTimeMillis(
+                info.getIdleTimeMillis()
+                + mLastModemActivityInfo.getIdleTimeMillis());
+    }
+
     /**
-     * {@hide}
      * Returns the service state information on specified subscription.
      */
     @Override
-    public ServiceState getServiceStateForSubscriber(int subId, String callingPackage,
-            String callingFeatureId) {
+    public ServiceState getServiceStateForSubscriber(int subId,
+            boolean renounceFineLocationAccess, boolean renounceCoarseLocationAccess,
+            String callingPackage, String callingFeatureId) {
         if (!TelephonyPermissions.checkCallingOrSelfReadPhoneState(
                 mApp, subId, callingPackage, callingFeatureId, "getServiceStateForSubscriber")) {
             return null;
         }
 
-        LocationAccessPolicy.LocationPermissionResult fineLocationResult =
-                LocationAccessPolicy.checkLocationPermission(mApp,
-                        new LocationAccessPolicy.LocationPermissionQuery.Builder()
-                                .setCallingPackage(callingPackage)
-                                .setCallingFeatureId(callingFeatureId)
-                                .setCallingPid(Binder.getCallingPid())
-                                .setCallingUid(Binder.getCallingUid())
-                                .setMethod("getServiceStateForSubscriber")
-                                .setLogAsInfo(true)
-                                .setMinSdkVersionForFine(Build.VERSION_CODES.Q)
-                                .setMinSdkVersionForCoarse(Build.VERSION_CODES.Q)
-                                .setMinSdkVersionForEnforcement(Build.VERSION_CODES.Q)
-                                .build());
+        boolean hasFinePermission = false;
+        boolean hasCoarsePermission = false;
+        if (!renounceFineLocationAccess) {
+            LocationAccessPolicy.LocationPermissionResult fineLocationResult =
+                    LocationAccessPolicy.checkLocationPermission(mApp,
+                            new LocationAccessPolicy.LocationPermissionQuery.Builder()
+                                    .setCallingPackage(callingPackage)
+                                    .setCallingFeatureId(callingFeatureId)
+                                    .setCallingPid(Binder.getCallingPid())
+                                    .setCallingUid(Binder.getCallingUid())
+                                    .setMethod("getServiceStateForSubscriber")
+                                    .setLogAsInfo(true)
+                                    .setMinSdkVersionForFine(Build.VERSION_CODES.Q)
+                                    .setMinSdkVersionForCoarse(Build.VERSION_CODES.Q)
+                                    .setMinSdkVersionForEnforcement(Build.VERSION_CODES.Q)
+                                    .build());
+            hasFinePermission =
+                    fineLocationResult == LocationAccessPolicy.LocationPermissionResult.ALLOWED;
+        }
 
-        LocationAccessPolicy.LocationPermissionResult coarseLocationResult =
-                LocationAccessPolicy.checkLocationPermission(mApp,
-                        new LocationAccessPolicy.LocationPermissionQuery.Builder()
-                                .setCallingPackage(callingPackage)
-                                .setCallingFeatureId(callingFeatureId)
-                                .setCallingPid(Binder.getCallingPid())
-                                .setCallingUid(Binder.getCallingUid())
-                                .setMethod("getServiceStateForSubscriber")
-                                .setLogAsInfo(true)
-                                .setMinSdkVersionForCoarse(Build.VERSION_CODES.Q)
-                                .setMinSdkVersionForFine(Integer.MAX_VALUE)
-                                .setMinSdkVersionForEnforcement(Build.VERSION_CODES.Q)
-                                .build());
-        // We don't care about hard or soft here -- all we need to know is how much info to scrub.
-        boolean hasFinePermission =
-                fineLocationResult == LocationAccessPolicy.LocationPermissionResult.ALLOWED;
-        boolean hasCoarsePermission =
-                coarseLocationResult == LocationAccessPolicy.LocationPermissionResult.ALLOWED;
+        if (!renounceCoarseLocationAccess) {
+            LocationAccessPolicy.LocationPermissionResult coarseLocationResult =
+                    LocationAccessPolicy.checkLocationPermission(mApp,
+                            new LocationAccessPolicy.LocationPermissionQuery.Builder()
+                                    .setCallingPackage(callingPackage)
+                                    .setCallingFeatureId(callingFeatureId)
+                                    .setCallingPid(Binder.getCallingPid())
+                                    .setCallingUid(Binder.getCallingUid())
+                                    .setMethod("getServiceStateForSubscriber")
+                                    .setLogAsInfo(true)
+                                    .setMinSdkVersionForCoarse(Build.VERSION_CODES.Q)
+                                    .setMinSdkVersionForFine(Integer.MAX_VALUE)
+                                    .setMinSdkVersionForEnforcement(Build.VERSION_CODES.Q)
+                                    .build());
+            hasCoarsePermission =
+                    coarseLocationResult == LocationAccessPolicy.LocationPermissionResult.ALLOWED;
+        }
 
         final Phone phone = getPhone(subId);
         if (phone == null) {
@@ -8173,7 +8122,7 @@
             }
             String aid = null;
             try {
-                aid = UiccController.getInstance().getUiccCard(phone.getPhoneId())
+                aid = UiccController.getInstance().getUiccPort(phone.getPhoneId())
                         .getApplicationByType(appType).getAid();
             } catch (Exception e) {
                 Log.e(LOG_TAG, "Not getting aid. Exception ex=" + e);
@@ -8475,13 +8424,14 @@
     /**
      * Policy control of data connection with reason {@@TelephonyManager.DataEnabledReason}
      * @param subId Subscription index
-     * @param reason the reason the data enable change is taking place
+     * @param reason The reason the data enable change is taking place.
      * @param enabled True if enabling the data, otherwise disabling.
+     * @param callingPackage The package that changed the data enabled state.
      * @hide
      */
     @Override
     public void setDataEnabledForReason(int subId, @TelephonyManager.DataEnabledReason int reason,
-            boolean enabled) {
+            boolean enabled, String callingPackage) {
         if (reason == TelephonyManager.DATA_ENABLED_REASON_USER
                 || reason == TelephonyManager.DATA_ENABLED_REASON_CARRIER) {
             try {
@@ -8501,7 +8451,12 @@
                 if (reason == TelephonyManager.DATA_ENABLED_REASON_CARRIER) {
                     phone.carrierActionSetMeteredApnsEnabled(enabled);
                 } else {
-                    phone.getDataEnabledSettings().setDataEnabled(reason, enabled);
+                    if (phone.isUsingNewDataStack()) {
+                        phone.getDataSettingsManager().setDataEnabled(
+                                reason, enabled, callingPackage);
+                    } else {
+                        phone.getDataEnabledSettings().setDataEnabled(reason, enabled);
+                    }
                 }
             }
         } finally {
@@ -8537,6 +8492,16 @@
 
     private WorkSource getWorkSource(int uid) {
         String packageName = mApp.getPackageManager().getNameForUid(uid);
+        if (uid == Process.ROOT_UID && packageName == null) {
+            // Downstream WorkSource attribution inside the RIL requires both a UID and package name
+            // to be set for wakelock tracking, otherwise RIL requests fail with a runtime
+            // exception. ROOT_UID seems not to have a valid package name returned by
+            // PackageManager, so just fake it here to avoid issues when running telephony shell
+            // commands that plumb through the RIL as root, like so:
+            // $ adb root
+            // $ adb shell cmd phone ...
+            packageName = "root";
+        }
         return new WorkSource(uid, packageName);
     }
 
@@ -8686,6 +8651,7 @@
      *
      * <p>Requires one of the following permissions:
      * {@link android.Manifest.permission#ACCESS_NETWORK_STATE},
+     * {@link android.Manifest.permission#READ_BASIC_PHONE_STATE},
      * {@link android.Manifest.permission#READ_PHONE_STATE} or that the calling app has carrier
      * privileges.
      *
@@ -8695,12 +8661,19 @@
      */
     @Override
     public boolean isDataRoamingEnabled(int subId) {
+        String functionName = "isDataRoamingEnabled";
         try {
-            mApp.enforceCallingOrSelfPermission(android.Manifest.permission.ACCESS_NETWORK_STATE,
-                    null);
+            try {
+                mApp.enforceCallingOrSelfPermission(
+                        android.Manifest.permission.ACCESS_NETWORK_STATE,
+                        functionName);
+            } catch (Exception e) {
+                mApp.enforceCallingOrSelfPermission(
+                        permission.READ_BASIC_PHONE_STATE, functionName);
+            }
         } catch (Exception e) {
             TelephonyPermissions.enforceCallingOrSelfReadPhoneStatePermissionOrCarrierPrivilege(
-                    mApp, subId, "isDataRoamingEnabled");
+                    mApp, subId, functionName);
         }
 
         boolean isEnabled = false;
@@ -8760,25 +8733,44 @@
         return isAllowed;
     }
 
+    private boolean haveCarrierPrivilegeAccess(UiccPort port, String callingPackage) {
+        UiccProfile profile = port.getUiccProfile();
+        if (profile == null) {
+            return false;
+        }
+        Phone phone = PhoneFactory.getPhone(profile.getPhoneId());
+        if (phone == null) {
+            return false;
+        }
+        CarrierPrivilegesTracker cpt = phone.getCarrierPrivilegesTracker();
+        return cpt != null && cpt.getCarrierPrivilegeStatusForPackage(callingPackage)
+                == TelephonyManager.CARRIER_PRIVILEGE_STATUS_HAS_ACCESS;
+    }
+
     @Override
     public List<UiccCardInfo> getUiccCardsInfo(String callingPackage) {
-        // Verify that tha callingPackage belongs to the calling UID
+        // Verify that the callingPackage belongs to the calling UID
         mApp.getSystemService(AppOpsManager.class)
                 .checkPackage(Binder.getCallingUid(), callingPackage);
 
         boolean hasReadPermission = false;
+        boolean isIccIdAccessRestricted = false;
         try {
             enforceReadPrivilegedPermission("getUiccCardsInfo");
             hasReadPermission = true;
         } catch (SecurityException e) {
             // even without READ_PRIVILEGED_PHONE_STATE, we allow the call to continue if the caller
             // has carrier privileges on an active UICC
-            if (checkCarrierPrivilegesForPackageAnyPhone(callingPackage)
+            if (checkCarrierPrivilegesForPackageAnyPhoneWithPermission(callingPackage)
                         != TelephonyManager.CARRIER_PRIVILEGE_STATUS_HAS_ACCESS) {
                 throw new SecurityException("Caller does not have permission.");
             }
         }
-
+        // checking compatibility, if calling app's target SDK is T and beyond.
+        if (CompatChanges.isChangeEnabled(GET_API_SIGNATURES_FROM_UICC_PORT_INFO,
+                Binder.getCallingUid())) {
+            isIccIdAccessRestricted = true;
+        }
         final long identity = Binder.clearCallingIdentity();
         try {
             UiccController uiccController = UiccController.getInstance();
@@ -8790,21 +8782,44 @@
             // Remove private info if the caller doesn't have access
             ArrayList<UiccCardInfo> filteredInfos = new ArrayList<>();
             for (UiccCardInfo cardInfo : cardInfos) {
+                //setting the value after compatibility check
+                cardInfo.setIccIdAccessRestricted(isIccIdAccessRestricted);
                 // For an inactive eUICC, the UiccCard will be null even though the UiccCardInfo
                 // is available
-                UiccCard card = uiccController.getUiccCardForSlot(cardInfo.getSlotIndex());
-                if (card == null || card.getUiccProfile() == null) {
-                    // assume no access if the card or profile is unavailable
-                    filteredInfos.add(cardInfo.getUnprivileged());
+                UiccCard card = uiccController.getUiccCardForSlot(cardInfo.getPhysicalSlotIndex());
+                if (card == null) {
+                    // assume no access if the card is unavailable
+                    filteredInfos.add(getUiccCardInfoUnPrivileged(cardInfo));
                     continue;
                 }
-                UiccProfile profile = card.getUiccProfile();
-                if (profile.getCarrierPrivilegeStatus(mApp.getPackageManager(), callingPackage)
-                        == TelephonyManager.CARRIER_PRIVILEGE_STATUS_HAS_ACCESS) {
-                    filteredInfos.add(cardInfo);
-                } else {
-                    filteredInfos.add(cardInfo.getUnprivileged());
+                Collection<UiccPortInfo> portInfos = cardInfo.getPorts();
+                if (portInfos.isEmpty()) {
+                    filteredInfos.add(getUiccCardInfoUnPrivileged(cardInfo));
+                    continue;
                 }
+                List<UiccPortInfo> uiccPortInfos = new  ArrayList<>();
+                for (UiccPortInfo portInfo : portInfos) {
+                    UiccPort port = uiccController.getUiccPortForSlot(
+                            cardInfo.getPhysicalSlotIndex(), portInfo.getPortIndex());
+                    if (port == null) {
+                        // assume no access if port is null
+                        uiccPortInfos.add(getUiccPortInfoUnPrivileged(portInfo));
+                        continue;
+                    }
+                    if (haveCarrierPrivilegeAccess(port, callingPackage)) {
+                        uiccPortInfos.add(portInfo);
+                    } else {
+                        uiccPortInfos.add(getUiccPortInfoUnPrivileged(portInfo));
+                    }
+                }
+                filteredInfos.add(new UiccCardInfo(
+                        cardInfo.isEuicc(),
+                        cardInfo.getCardId(),
+                        null,
+                        cardInfo.getPhysicalSlotIndex(),
+                        cardInfo.isRemovable(),
+                        cardInfo.isMultipleEnabledProfilesSupported(),
+                        uiccPortInfos));
             }
             return filteredInfos;
         } finally {
@@ -8812,18 +8827,67 @@
         }
     }
 
+    /**
+     * Returns a copy of the UiccCardinfo with the EID and ICCID set to null. These values are
+     * generally private and require carrier privileges to view.
+     *
+     * @hide
+     */
+    @NonNull
+    public UiccCardInfo getUiccCardInfoUnPrivileged(UiccCardInfo cardInfo) {
+        List<UiccPortInfo> portinfo = new  ArrayList<>();
+        for (UiccPortInfo portinfos : cardInfo.getPorts()) {
+            portinfo.add(getUiccPortInfoUnPrivileged(portinfos));
+        }
+        return new UiccCardInfo(
+                cardInfo.isEuicc(),
+                cardInfo.getCardId(),
+                null,
+                cardInfo.getPhysicalSlotIndex(),
+                cardInfo.isRemovable(),
+                cardInfo.isMultipleEnabledProfilesSupported(),
+                portinfo
+        );
+    }
+
+    /**
+     * @hide
+     * @return a copy of the UiccPortInfo with ICCID set to {@link UiccPortInfo#ICCID_REDACTED}.
+     * These values are generally private and require carrier privileges to view.
+     */
+    @NonNull
+    public UiccPortInfo getUiccPortInfoUnPrivileged(UiccPortInfo portInfo) {
+        return new UiccPortInfo(
+                UiccPortInfo.ICCID_REDACTED,
+                portInfo.getPortIndex(),
+                portInfo.getLogicalSlotIndex(),
+                portInfo.isActive()
+        );
+    }
     @Override
-    public UiccSlotInfo[] getUiccSlotsInfo() {
+    public UiccSlotInfo[] getUiccSlotsInfo(String callingPackage) {
+        // Verify that the callingPackage belongs to the calling UID
+        mApp.getSystemService(AppOpsManager.class)
+                .checkPackage(Binder.getCallingUid(), callingPackage);
+
+        boolean isLogicalSlotAccessRestricted = false;
+
+        // This will make sure caller has the READ_PRIVILEGED_PHONE_STATE. Do not remove this as
+        // we are reading iccId which is PII data.
         enforceReadPrivilegedPermission("getUiccSlotsInfo");
 
+        // checking compatibility, if calling app's target SDK is T and beyond.
+        if (CompatChanges.isChangeEnabled(GET_API_SIGNATURES_FROM_UICC_PORT_INFO,
+                Binder.getCallingUid())) {
+            isLogicalSlotAccessRestricted  = true;
+        }
         final long identity = Binder.clearCallingIdentity();
         try {
             UiccSlot[] slots = UiccController.getInstance().getUiccSlots();
-            if (slots == null) {
-                Rlog.i(LOG_TAG, "slots is null.");
+            if (slots == null || slots.length == 0) {
+                Rlog.i(LOG_TAG, "slots is null or empty.");
                 return null;
             }
-
             UiccSlotInfo[] infos = new UiccSlotInfo[slots.length];
             for (int i = 0; i < slots.length; i++) {
                 UiccSlot slot = slots[i];
@@ -8838,7 +8902,8 @@
                 } else {
                     cardId = slot.getEid();
                     if (TextUtils.isEmpty(cardId)) {
-                        cardId = slot.getIccId();
+                        // If cardId is null, use iccId of default port as cardId.
+                        cardId = slot.getIccId(TelephonyManager.DEFAULT_PORT_INDEX);
                     }
                 }
 
@@ -8866,15 +8931,22 @@
                         break;
 
                 }
-
+                List<UiccPortInfo> portInfos = new ArrayList<>();
+                int[] portIndexes = slot.getPortList();
+                for (int portIdx : portIndexes) {
+                    String iccId = IccUtils.stripTrailingFs(getIccId(slot, portIdx,
+                            callingPackage, /* hasReadPermission= */ true));
+                    portInfos.add(new UiccPortInfo(iccId, portIdx,
+                            slot.getPhoneIdFromPortIndex(portIdx), slot.isPortActive(portIdx)));
+                }
                 infos[i] = new UiccSlotInfo(
-                        slot.isActive(),
                         slot.isEuicc(),
                         cardId,
                         cardState,
-                        slot.getPhoneId(),
                         slot.isExtendedApduSupported(),
-                        slot.isRemovable());
+                        slot.isRemovable(), portInfos);
+                //setting the value after compatibility check
+                infos[i].setLogicalSlotAccessRestricted(isLogicalSlotAccessRestricted);
             }
             return infos;
         } finally {
@@ -8882,13 +8954,52 @@
         }
     }
 
+    /* Returns null if doesn't have read permission or carrier privilege access. */
+    private String getIccId(UiccSlot slot, int portIndex, String callingPackage,
+            boolean hasReadPermission) {
+        String iccId = slot.getIccId(portIndex);
+        if (hasReadPermission) { // if has read permission
+            return iccId;
+        } else {
+            if (slot.getUiccCard() != null && slot.getUiccCard().getUiccPort(portIndex) != null) {
+                UiccPort port = slot.getUiccCard().getUiccPort(portIndex);
+                // if no read permission, checking carrier privilege access
+                if (haveCarrierPrivilegeAccess(port, callingPackage)) {
+                    return iccId;
+                }
+            }
+        }
+        // No read permission or carrier privilege access.
+        return UiccPortInfo.ICCID_REDACTED;
+    }
+
     @Override
+    @Deprecated
     public boolean switchSlots(int[] physicalSlots) {
         enforceModifyPermission();
 
         final long identity = Binder.clearCallingIdentity();
         try {
-            return (Boolean) sendRequest(CMD_SWITCH_SLOTS, physicalSlots);
+            List<UiccSlotMapping> slotMappings = new ArrayList<>();
+            for (int i = 0; i < physicalSlots.length; i++) {
+                // Deprecated API, hence MEP is not supported. Adding default portIndex 0.
+                slotMappings.add(new UiccSlotMapping(TelephonyManager.DEFAULT_PORT_INDEX,
+                        physicalSlots[i], i));
+            }
+            return (Boolean) sendRequest(CMD_SWITCH_SLOTS, slotMappings);
+        } finally {
+            Binder.restoreCallingIdentity(identity);
+        }
+    }
+
+    @Override
+    @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE)
+    public boolean setSimSlotMapping(@NonNull List<UiccSlotMapping> slotMapping) {
+        enforceModifyPermission();
+
+        final long identity = Binder.clearCallingIdentity();
+        try {
+            return (Boolean) sendRequest(CMD_SWITCH_SLOTS, slotMapping);
         } finally {
             Binder.restoreCallingIdentity(identity);
         }
@@ -8921,11 +9032,11 @@
             if (phone == null) {
                 return;
             }
-            UiccCard uiccCard = phone.getUiccCard();
-            if (uiccCard == null) {
+            UiccPort uiccPort = phone.getUiccPort();
+            if (uiccPort == null) {
                 return;
             }
-            UiccProfile uiccProfile = uiccCard.getUiccProfile();
+            UiccProfile uiccProfile = uiccPort.getUiccProfile();
             if (uiccProfile == null) {
                 return;
             }
@@ -8981,6 +9092,11 @@
                 loge("setCarrierTestOverride fails with invalid subId: " + subId);
                 return;
             }
+            CarrierPrivilegesTracker cpt = phone.getCarrierPrivilegesTracker();
+            if (cpt != null) {
+                cpt.setTestOverrideCarrierPrivilegeRules(carrierPrivilegeRules);
+            }
+            // TODO(b/211796398): remove the legacy logic below once CPT migration is done.
             phone.setCarrierTestOverride(mccmnc, imsi, iccid, gid1, gid2, plmn, spn,
                     carrierPrivilegeRules, apn);
             if (carrierPrivilegeRules == null) {
@@ -9432,11 +9548,11 @@
         }
         final long identity = Binder.clearCallingIdentity();
         try {
-            UiccCard uiccCard = phone.getUiccCard();
-            if (uiccCard == null) {
+            UiccPort uiccPort = phone.getUiccPort();
+            if (uiccPort == null) {
                 return false;
             }
-            UiccProfile uiccProfile = uiccCard.getUiccProfile();
+            UiccProfile uiccProfile = uiccPort.getUiccProfile();
             if (uiccProfile == null) {
                 return false;
             }
@@ -9477,21 +9593,26 @@
     }
 
     @Override
-    public int[] getSlotsMapping() {
+    public List<UiccSlotMapping> getSlotsMapping(String callingPackage) {
         enforceReadPrivilegedPermission("getSlotsMapping");
-
+        // Verify that the callingPackage belongs to the calling UID
+        mApp.getSystemService(AppOpsManager.class)
+                .checkPackage(Binder.getCallingUid(), callingPackage);
         final long identity = Binder.clearCallingIdentity();
+        List<UiccSlotMapping> slotMap = new ArrayList<>();
         try {
-            int phoneCount = TelephonyManager.getDefault().getPhoneCount();
-            // All logical slots should have a mapping to a physical slot.
-            int[] logicalSlotsMapping = new int[phoneCount];
-            UiccSlotInfo[] slotInfos = getUiccSlotsInfo();
-            for (int i = 0; i < slotInfos.length; i++) {
-                if (SubscriptionManager.isValidPhoneId(slotInfos[i].getLogicalSlotIdx())) {
-                    logicalSlotsMapping[slotInfos[i].getLogicalSlotIdx()] = i;
+            UiccSlotInfo[] slotInfos = getUiccSlotsInfo(mApp.getOpPackageName());
+            if (slotInfos != null) {
+                for (int i = 0; i < slotInfos.length; i++) {
+                    for (UiccPortInfo portInfo : slotInfos[i].getPorts()) {
+                        if (SubscriptionManager.isValidPhoneId(portInfo.getLogicalSlotIndex())) {
+                            slotMap.add(new UiccSlotMapping(portInfo.getPortIndex(), i,
+                                    portInfo.getLogicalSlotIndex()));
+                        }
+                    }
                 }
             }
-            return logicalSlotsMapping;
+            return slotMap;
         } finally {
             Binder.restoreCallingIdentity(identity);
         }
@@ -9543,8 +9664,18 @@
             Phone phone = getPhone(subId);
             if (phone == null) return false;
 
-            boolean isMetered = ApnSettingUtils.isMeteredApnType(apnType, phone);
-            return !isMetered || phone.getDataEnabledSettings().isDataEnabled(apnType);
+            boolean isMetered;
+            boolean isDataEnabled;
+            if (phone.isUsingNewDataStack()) {
+                isMetered = phone.getDataNetworkController().getDataConfigManager()
+                        .isMeteredCapability(DataUtils.apnTypeToNetworkCapability(apnType),
+                                phone.getServiceState().getDataRoaming());
+                isDataEnabled = phone.getDataSettingsManager().isDataEnabled(apnType);
+            } else {
+                isMetered = ApnSettingUtils.isMeteredApnType(apnType, phone);
+                isDataEnabled = phone.getDataEnabledSettings().isDataEnabled(apnType);
+            }
+            return !isMetered || isDataEnabled;
         } finally {
             Binder.restoreCallingIdentity(identity);
         }
@@ -9559,6 +9690,11 @@
         try {
             Phone phone = getPhone(subId);
             if (phone == null) return true; // By default return true.
+            if (phone.isUsingNewDataStack()) {
+                return phone.getDataNetworkController().getDataConfigManager().isMeteredCapability(
+                        DataUtils.apnTypeToNetworkCapability(apnType),
+                        phone.getServiceState().getDataRoaming());
+            }
 
             return ApnSettingUtils.isMeteredApnType(apnType, phone);
         } finally {
@@ -9620,15 +9756,9 @@
     }
 
     @Override
-    public boolean isMvnoMatched(int subId, int mvnoType, @NonNull String mvnoMatchData) {
+    public boolean isMvnoMatched(int slotIndex, int mvnoType, @NonNull String mvnoMatchData) {
         enforceReadPrivilegedPermission("isMvnoMatched");
-        IccRecords iccRecords = UiccController.getInstance().getIccRecords(
-                SubscriptionManager.getPhoneId(subId), UiccController.APP_FAM_3GPP);
-        if (iccRecords == null) {
-            Log.d(LOG_TAG, "isMvnoMatched# IccRecords is null");
-            return false;
-        }
-        return ApnSettingUtils.mvnoMatches(iccRecords, mvnoType, mvnoMatchData);
+        return UiccController.getInstance().mvnoMatches(slotIndex, mvnoType, mvnoMatchData);
     }
 
     @Override
@@ -9698,9 +9828,17 @@
 
             switch (policy) {
                 case TelephonyManager.MOBILE_DATA_POLICY_DATA_ON_NON_DEFAULT_DURING_VOICE_CALL:
-                    return phone.getDataEnabledSettings().isDataAllowedInVoiceCall();
+                    if (phone.isUsingNewDataStack()) {
+                        return phone.getDataSettingsManager().isDataAllowedInVoiceCall();
+                    } else {
+                        return phone.getDataEnabledSettings().isDataAllowedInVoiceCall();
+                    }
                 case TelephonyManager.MOBILE_DATA_POLICY_MMS_ALWAYS_ALLOWED:
-                    return phone.getDataEnabledSettings().isMmsAlwaysAllowed();
+                    if (phone.isUsingNewDataStack()) {
+                        return phone.getDataSettingsManager().isMmsAlwaysAllowed();
+                    } else {
+                        return phone.getDataEnabledSettings().isMmsAlwaysAllowed();
+                    }
                 default:
                     throw new IllegalArgumentException(policy + " is not a valid policy");
             }
@@ -9721,10 +9859,18 @@
 
             switch (policy) {
                 case TelephonyManager.MOBILE_DATA_POLICY_DATA_ON_NON_DEFAULT_DURING_VOICE_CALL:
-                    phone.getDataEnabledSettings().setAllowDataDuringVoiceCall(enabled);
+                    if (phone.isUsingNewDataStack()) {
+                        phone.getDataSettingsManager().setAllowDataDuringVoiceCall(enabled);
+                    } else {
+                        phone.getDataEnabledSettings().setAllowDataDuringVoiceCall(enabled);
+                    }
                     break;
                 case TelephonyManager.MOBILE_DATA_POLICY_MMS_ALWAYS_ALLOWED:
-                    phone.getDataEnabledSettings().setAlwaysAllowMmsData(enabled);
+                    if (phone.isUsingNewDataStack()) {
+                        phone.getDataSettingsManager().setAlwaysAllowMmsData(enabled);
+                    } else {
+                        phone.getDataEnabledSettings().setAlwaysAllowMmsData(enabled);
+                    }
                     break;
                 default:
                     throw new IllegalArgumentException(policy + " is not a valid policy");
@@ -10015,7 +10161,7 @@
     }
 
     private int handleDataThrottlingRequest(int subId,
-            DataThrottlingRequest dataThrottlingRequest) {
+            DataThrottlingRequest dataThrottlingRequest, String callingPackage) {
         boolean isDataThrottlingSupported = isRadioInterfaceCapabilitySupported(
                 TelephonyManager.CAPABILITY_THERMAL_MITIGATION_DATA_THROTTLING);
         if (!isDataThrottlingSupported && dataThrottlingRequest.getDataThrottlingAction()
@@ -10029,7 +10175,8 @@
             return TelephonyManager.THERMAL_MITIGATION_RESULT_MODEM_NOT_AVAILABLE;
         }
 
-        setDataEnabledForReason(subId, TelephonyManager.DATA_ENABLED_REASON_THERMAL, true);
+        setDataEnabledForReason(
+                subId, TelephonyManager.DATA_ENABLED_REASON_THERMAL, true, callingPackage);
 
         if (isDataThrottlingSupported) {
             int thermalMitigationResult =
@@ -10131,7 +10278,8 @@
                 case ThermalMitigationRequest.THERMAL_MITIGATION_ACTION_DATA_THROTTLING:
                     thermalMitigationResult =
                         handleDataThrottlingRequest(subId,
-                                thermalMitigationRequest.getDataThrottlingRequest());
+                                thermalMitigationRequest.getDataThrottlingRequest(),
+                                callingPackage);
                     break;
                 case ThermalMitigationRequest.THERMAL_MITIGATION_ACTION_VOICE_ONLY:
                     if (thermalMitigationRequest.getDataThrottlingRequest() != null) {
@@ -10148,7 +10296,7 @@
                     }
 
                     setDataEnabledForReason(subId, TelephonyManager.DATA_ENABLED_REASON_THERMAL,
-                            false);
+                            false, callingPackage);
                     thermalMitigationResult = TelephonyManager.THERMAL_MITIGATION_RESULT_SUCCESS;
                     break;
                 case ThermalMitigationRequest.THERMAL_MITIGATION_ACTION_RADIO_OFF:
@@ -10845,7 +10993,7 @@
         mApp.getSystemService(AppOpsManager.class)
                 .checkPackage(callingUid, callingPackage);
 
-        validateSignalStrengthUpdateRequest(request, callingUid);
+        validateSignalStrengthUpdateRequest(mApp, request, callingUid);
 
         final long identity = Binder.clearCallingIdentity();
         try {
@@ -10884,19 +11032,19 @@
         }
     }
 
-    private static void validateSignalStrengthUpdateRequest(SignalStrengthUpdateRequest request,
-            int callingUid) {
+    private static void validateSignalStrengthUpdateRequest(Context context,
+            SignalStrengthUpdateRequest request, int callingUid) {
         if (callingUid == Process.PHONE_UID || callingUid == Process.SYSTEM_UID) {
             // phone/system process do not have further restriction on request
             return;
         }
 
         // Applications has restrictions on how to use the request:
-        // Only system caller can set mIsSystemThresholdReportingRequestedWhileIdle
+        // Non-system callers need permission to set mIsSystemThresholdReportingRequestedWhileIdle
         if (request.isSystemThresholdReportingRequestedWhileIdle()) {
-            // This is not system caller which has been checked above
-            throw new IllegalArgumentException(
-                    "Only system can set isSystemThresholdReportingRequestedWhileIdle");
+            context.enforceCallingOrSelfPermission(
+                    android.Manifest.permission.LISTEN_ALWAYS_REPORTED_SIGNAL_STRENGTH,
+                    "validateSignalStrengthUpdateRequest");
         }
 
         for (SignalThresholdInfo info : request.getSignalThresholdInfos()) {
@@ -10967,7 +11115,9 @@
      */
     @Override
     public void getSlicingConfig(ResultReceiver callback) {
-        enforceReadPrivilegedPermission("getSlicingConfig");
+        TelephonyPermissions
+                .enforceCallingOrSelfReadPrivilegedPhoneStatePermissionOrCarrierPrivilege(
+                        mApp, SubscriptionManager.INVALID_SUBSCRIPTION_ID, "getSlicingConfig");
 
         final long identity = Binder.clearCallingIdentity();
         try {
@@ -10977,4 +11127,217 @@
             Binder.restoreCallingIdentity(identity);
         }
     }
+
+    /**
+     * Register an IMS connection state callback
+     */
+    @Override
+    public void registerImsStateCallback(int subId, int feature, IImsStateCallback cb,
+            String callingPackage) {
+        if (feature == ImsFeature.FEATURE_MMTEL) {
+            // ImsMmTelManager
+            // The following also checks READ_PRIVILEGED_PHONE_STATE.
+            TelephonyPermissions
+                    .enforceCallingOrSelfReadPrecisePhoneStatePermissionOrCarrierPrivilege(
+                            mApp, subId, "registerImsStateCallback");
+        } else if (feature == ImsFeature.FEATURE_RCS) {
+            // ImsRcsManager or SipDelegateManager
+            TelephonyPermissions.enforceAnyPermissionGrantedOrCarrierPrivileges(mApp, subId,
+                    Binder.getCallingUid(), "registerImsStateCallback",
+                    Manifest.permission.READ_PRIVILEGED_PHONE_STATE,
+                    Manifest.permission.READ_PRECISE_PHONE_STATE,
+                    Manifest.permission.ACCESS_RCS_USER_CAPABILITY_EXCHANGE,
+                    Manifest.permission.PERFORM_IMS_SINGLE_REGISTRATION);
+        }
+
+        if (!ImsManager.isImsSupportedOnDevice(mApp)) {
+            throw new ServiceSpecificException(ImsException.CODE_ERROR_UNSUPPORTED_OPERATION,
+                    "IMS not available on device.");
+        }
+
+        if (subId == SubscriptionManager.DEFAULT_SUBSCRIPTION_ID) {
+            throw new ServiceSpecificException(ImsException.CODE_ERROR_INVALID_SUBSCRIPTION);
+        }
+
+        ImsStateCallbackController controller = ImsStateCallbackController.getInstance();
+        if (controller == null) {
+            throw new ServiceSpecificException(ImsException.CODE_ERROR_UNSUPPORTED_OPERATION,
+                    "IMS not available on device.");
+        }
+
+        if (callingPackage == null) {
+            callingPackage = getCurrentPackageName();
+        }
+
+        final long token = Binder.clearCallingIdentity();
+        try {
+            int slotId = getSlotIndexOrException(subId);
+            controller.registerImsStateCallback(subId, feature, cb, callingPackage);
+        } catch (ImsException e) {
+            throw new ServiceSpecificException(e.getCode());
+        } finally {
+            Binder.restoreCallingIdentity(token);
+        }
+    }
+
+    /**
+     * Unregister an IMS connection state callback
+     */
+    @Override
+    public void unregisterImsStateCallback(IImsStateCallback cb) {
+        final long token = Binder.clearCallingIdentity();
+        ImsStateCallbackController controller = ImsStateCallbackController.getInstance();
+        if (controller == null) {
+            return;
+        }
+        try {
+            controller.unregisterImsStateCallback(cb);
+        } finally {
+            Binder.restoreCallingIdentity(token);
+        }
+    }
+
+    /**
+     * @return {@CellIdentity} last known cell identity {@CellIdentity}.
+     *
+     * Require {@link android.Manifest.permission#ACCESS_FINE_LOCATION} and
+     * com.android.phone.permission.ACCESS_LAST_KNOWN_CELL_ID, otherwise throws
+     * SecurityException.
+     * If there is current registered network this value will be same as the registered cell
+     * identity. If the device goes out of service the previous cell identity is cached and
+     * will be returned. If the cache age of the Cell identity is more than 24 hours
+     * it will be cleared and null will be returned.
+     *
+     */
+    @Override
+    public @Nullable CellIdentity getLastKnownCellIdentity(int subId, String callingPackage,
+            String callingFeatureId) {
+        mAppOps.checkPackage(Binder.getCallingUid(), callingPackage);
+        LocationAccessPolicy.LocationPermissionResult fineLocationResult =
+                LocationAccessPolicy.checkLocationPermission(mApp,
+                        new LocationAccessPolicy.LocationPermissionQuery.Builder()
+                                .setCallingPackage(callingPackage)
+                                .setCallingFeatureId(callingFeatureId)
+                                .setCallingPid(Binder.getCallingPid())
+                                .setCallingUid(Binder.getCallingUid())
+                                .setMethod("getLastKnownCellIdentity")
+                                .setLogAsInfo(true)
+                                .setMinSdkVersionForFine(Build.VERSION_CODES.Q)
+                                .setMinSdkVersionForCoarse(Build.VERSION_CODES.Q)
+                                .setMinSdkVersionForEnforcement(Build.VERSION_CODES.Q)
+                                .build());
+
+        boolean hasFinePermission =
+                fineLocationResult == LocationAccessPolicy.LocationPermissionResult.ALLOWED;
+        if (!hasFinePermission
+                || !TelephonyPermissions.checkLastKnownCellIdAccessPermission(mApp)) {
+            throw new SecurityException("getLastKnownCellIdentity need ACCESS_FINE_LOCATION "
+                    + "and ACCESS_LAST_KNOWN_CELL_ID permission.");
+        }
+
+        final long identity = Binder.clearCallingIdentity();
+        try {
+            Phone phone = getPhone(subId);
+            if (phone == null) return null;
+            ServiceStateTracker sst = phone.getServiceStateTracker();
+            if (sst == null) return null;
+            return sst.getLastKnownCellIdentity();
+        } finally {
+            Binder.restoreCallingIdentity(identity);
+        }
+    }
+
+    @Override
+    public boolean isUsingNewDataStack() {
+        TelephonyPermissions.enforceShellOnly(Binder.getCallingUid(), "isUsingNewDataStack");
+        return getDefaultPhone().isUsingNewDataStack();
+    }
+
+    /**
+     * Sets the modem service class Name that Telephony will bind to.
+     *
+     * @param serviceName The class name of the modem service.
+     * @return true if the operation is succeed, otherwise false.
+     */
+    public boolean setModemService(String serviceName) {
+        Log.d(LOG_TAG, "setModemService - " + serviceName);
+        TelephonyPermissions.enforceShellOnly(Binder.getCallingUid(), "setModemService");
+        TelephonyPermissions.enforceCallingOrSelfModifyPermissionOrCarrierPrivilege(mApp,
+                        SubscriptionManager.INVALID_SUBSCRIPTION_ID,
+                        "setModemService");
+        return mPhoneConfigurationManager.setModemService(serviceName);
+    }
+
+    /**
+     * Return the class name of the currently bounded modem service.
+     *
+     * @return the class name of the modem service.
+     */
+    public String getModemService() {
+        String result;
+        Log.d(LOG_TAG, "getModemService");
+        TelephonyPermissions.enforceShellOnly(Binder.getCallingUid(), "getModemService");
+        TelephonyPermissions
+                        .enforceCallingOrSelfReadPrivilegedPhoneStatePermissionOrCarrierPrivilege(
+                        mApp, SubscriptionManager.INVALID_SUBSCRIPTION_ID,
+                        "getModemService");
+        result = mPhoneConfigurationManager.getModemService();
+        Log.d(LOG_TAG, "result = " + result);
+        return result;
+    }
+
+    @Override
+    public void setVoiceServiceStateOverride(int subId, boolean hasService, String callingPackage) {
+        // Only telecom (and shell, for CTS purposes) is allowed to call this method.
+        mApp.enforceCallingOrSelfPermission(
+                permission.BIND_TELECOM_CONNECTION_SERVICE, "setVoiceServiceStateOverride");
+        mAppOps.checkPackage(Binder.getCallingUid(), callingPackage);
+
+        final long identity = Binder.clearCallingIdentity();
+        try {
+            Phone phone = getPhone(subId);
+            if (phone == null) return;
+            phone.setVoiceServiceStateOverride(hasService);
+        } finally {
+            Binder.restoreCallingIdentity(identity);
+        }
+    }
+
+    /**
+     * set removable eSIM as default eUICC.
+     *
+     * @hide
+     */
+    @Override
+    public void setRemovableEsimAsDefaultEuicc(boolean isDefault, String callingPackage) {
+        enforceModifyPermission();
+        mAppOps.checkPackage(Binder.getCallingUid(), callingPackage);
+
+        final long identity = Binder.clearCallingIdentity();
+        try {
+            UiccController.getInstance().setRemovableEsimAsDefaultEuicc(isDefault);
+        }  finally {
+            Binder.restoreCallingIdentity(identity);
+        }
+    }
+
+    /**
+     * Returns whether the removable eSIM is default eUICC or not.
+     *
+     * @hide
+     */
+    @Override
+    public boolean isRemovableEsimDefaultEuicc(String callingPackage) {
+        enforceReadPrivilegedPermission("isRemovableEsimDefaultEuicc");
+        mAppOps.checkPackage(Binder.getCallingUid(), callingPackage);
+
+        final long identity = Binder.clearCallingIdentity();
+        try {
+            return UiccController.getInstance().isRemovableEsimDefaultEuicc();
+        }  finally {
+            Binder.restoreCallingIdentity(identity);
+        }
+    }
+
+
 }
diff --git a/src/com/android/phone/PhoneUtils.java b/src/com/android/phone/PhoneUtils.java
index c520063..695a4a4 100644
--- a/src/com/android/phone/PhoneUtils.java
+++ b/src/com/android/phone/PhoneUtils.java
@@ -468,7 +468,8 @@
                     };
 
                 // build the dialog
-                final AlertDialog newDialog = new AlertDialog.Builder(contextThemeWrapper)
+                final AlertDialog newDialog =
+                        FrameworksUtils.makeAlertDialogBuilder(contextThemeWrapper)
                         .setMessage(text)
                         .setView(dialogView)
                         .setPositiveButton(R.string.send_button, mUSSDDialogListener)
@@ -546,7 +547,9 @@
             // R.array.config_defaultNotificationVibePattern is not defined.
             long[] pattern = getLongArray(context.getResources(),
                     R.array.config_defaultNotificationVibePattern, DEFAULT_VIBRATE_PATTERN);
-            vibrator.vibrate(VibrationEffect.createWaveform(pattern, -1));
+            vibrator.vibrate(VibrationEffect.createWaveform(pattern, -1),
+                    new AudioAttributes.Builder().setUsage(AudioAttributes.USAGE_NOTIFICATION)
+                            .build());
         }
     }
 
@@ -715,7 +718,7 @@
         // TODO: Should use some sort of special hidden flag to decorate this account as
         // an emergency-only account
         String id = isEmergency ? EMERGENCY_ACCOUNT_HANDLE_ID : prefix +
-                String.valueOf(phone.getFullIccSerialNumber());
+                String.valueOf(phone.getSubId());
         return makePstnPhoneAccountHandleWithPrefix(id, prefix, isEmergency);
     }
 
@@ -743,7 +746,7 @@
 
     public static Phone getPhoneForPhoneAccountHandle(PhoneAccountHandle handle) {
         if (handle != null && handle.getComponentName().equals(getPstnConnectionServiceName())) {
-            return getPhoneFromIccId(handle.getId());
+            return getPhoneFromSubId(handle.getId());
         }
         return null;
     }
@@ -758,18 +761,18 @@
      * {@code false} otherwise.
      */
     public static boolean isPhoneAccountActive(SubscriptionManager sm, PhoneAccountHandle handle) {
-        return sm.getActiveSubscriptionInfoForIcc(handle.getId()) != null;
+        return sm.getActiveSubscriptionInfo(Integer.parseInt(handle.getId())) != null;
     }
 
     private static ComponentName getPstnConnectionServiceName() {
         return PSTN_CONNECTION_SERVICE_COMPONENT;
     }
 
-    private static Phone getPhoneFromIccId(String iccId) {
-        if (!TextUtils.isEmpty(iccId)) {
+    private static Phone getPhoneFromSubId(String subId) {
+        if (!TextUtils.isEmpty(subId)) {
             for (Phone phone : PhoneFactory.getPhones()) {
-                String phoneIccId = phone.getFullIccSerialNumber();
-                if (iccId.equals(phoneIccId)) {
+                String phoneSubId = Integer.toString(phone.getSubId());
+                if (subId.equals(phoneSubId)) {
                     return phone;
                 }
             }
diff --git a/src/com/android/phone/RcsProvisioningMonitor.java b/src/com/android/phone/RcsProvisioningMonitor.java
index e819afc..1ed0d72 100644
--- a/src/com/android/phone/RcsProvisioningMonitor.java
+++ b/src/com/android/phone/RcsProvisioningMonitor.java
@@ -467,7 +467,7 @@
         }
 
         @Override
-        public void connectionReady(RcsFeatureManager manager) {
+        public void connectionReady(RcsFeatureManager manager, int subId) {
             mRcsFeatureManager = manager;
             mRcsProvisioningInfos.forEach(v -> v.onRcsStatusChanged(manager.getConfig()));
         }
diff --git a/src/com/android/phone/ServiceStateProvider.java b/src/com/android/phone/ServiceStateProvider.java
index 7df5b7c..3fa1e58 100644
--- a/src/com/android/phone/ServiceStateProvider.java
+++ b/src/com/android/phone/ServiceStateProvider.java
@@ -28,6 +28,9 @@
 import static android.provider.Telephony.ServiceStateTable.getUriForSubscriptionIdAndField;
 
 import android.Manifest;
+import android.app.compat.CompatChanges;
+import android.compat.annotation.ChangeId;
+import android.compat.annotation.EnabledAfter;
 import android.content.ContentProvider;
 import android.content.ContentValues;
 import android.content.Context;
@@ -230,6 +233,15 @@
      */
     public static final String OPERATOR_ALPHA_SHORT_RAW = "operator_alpha_short_raw";
 
+    /**
+     * If the change Id is enabled, location permission is required to access location sensitive
+     * columns in the ServiceStateTable.
+     */
+    @ChangeId
+    @EnabledAfter(targetSdkVersion = Build.VERSION_CODES.R)
+    @VisibleForTesting
+    /* package */ static final long ENFORCE_LOCATION_PERMISSION_CHECK = 191911306;
+
     private final HashMap<Integer, ServiceState> mServiceStates = new HashMap<>();
 
     @VisibleForTesting
@@ -398,7 +410,8 @@
                 return null;
             }
 
-            // TODO(b/182384053): replace targetSdk check with CompatChanges#isChangeEnabled
+            final boolean enforceLocationPermission =
+                    CompatChanges.isChangeEnabled(ENFORCE_LOCATION_PERMISSION_CHECK);
             final boolean targetingAtLeastS = TelephonyPermissions.getTargetSdk(getContext(),
                     getCallingPackage()) >= Build.VERSION_CODES.S;
             final boolean canReadPrivilegedPhoneState = getContext().checkCallingOrSelfPermission(
@@ -406,45 +419,51 @@
 
             final String[] availableColumns;
             final ServiceState ss;
-            if (targetingAtLeastS && !canReadPrivilegedPhoneState) {
+            if (enforceLocationPermission && targetingAtLeastS && !canReadPrivilegedPhoneState) {
                 // targetSdkVersion S+ without read privileged phone state permission can only
                 // access public columns which have no location sensitive info.
                 availableColumns = PUBLIC_COLUMNS;
                 ss = unredactedServiceState;
             } else {
                 availableColumns = ALL_COLUMNS;
-                boolean implicitlyQueryLocation = projection == null;
-                boolean explicitlyQueryLocation = false;
-                if (projection != null) {
-                    for (String requiredColumn : projection) {
-                        if (LOCATION_PROTECTED_COLUMNS_SET.contains(requiredColumn)) {
-                            explicitlyQueryLocation = true;
-                            break;
-                        }
-                    }
-                }
-
-                // 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);
-                        }
-                    }
+                if (!enforceLocationPermission) {
+                    // No matter the targetSdkVersion, return unredacted ServiceState if location
+                    // permission enforcement is not introduced
+                    ss = 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);
+                    boolean implicitlyQueryLocation = projection == null;
+                    boolean explicitlyQueryLocation = false;
+                    if (projection != null) {
+                        for (String requiredColumn : projection) {
+                            if (LOCATION_PROTECTED_COLUMNS_SET.contains(requiredColumn)) {
+                                explicitlyQueryLocation = true;
+                                break;
+                            }
+                        }
+                    }
+
+                    // 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);
+                    }
                 }
             }
 
@@ -695,8 +714,6 @@
     /* package */ static ServiceState getLocationRedactedServiceState(ServiceState serviceState) {
         ServiceState ss =
                 serviceState.createLocationInfoSanitizedCopy(true /*removeCoarseLocation*/);
-        // TODO(b/188061647): remove the additional redaction once it is fixed in SS
-        ss.setCdmaSystemAndNetworkId(ServiceState.UNKNOWN_ID, ServiceState.UNKNOWN_ID);
         return ss;
     }
 }
diff --git a/src/com/android/phone/SimPhonebookProvider.java b/src/com/android/phone/SimPhonebookProvider.java
index 04c4f48..8952865 100644
--- a/src/com/android/phone/SimPhonebookProvider.java
+++ b/src/com/android/phone/SimPhonebookProvider.java
@@ -43,7 +43,7 @@
 import android.telephony.TelephonyFrameworkInitializer;
 import android.telephony.TelephonyManager;
 import android.util.ArraySet;
-import android.util.Pair;
+import android.util.SparseArray;
 
 import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
@@ -55,10 +55,10 @@
 
 import com.google.common.base.Joiner;
 import com.google.common.base.Strings;
+import com.google.common.collect.ImmutableList;
 import com.google.common.collect.ImmutableSet;
 import com.google.common.util.concurrent.MoreExecutors;
 
-import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.LinkedHashSet;
 import java.util.List;
@@ -333,19 +333,25 @@
         if (recordsSize == null || getRecordCount(recordsSize) == 0) {
             return;
         }
+        int efid = efIdForEfType(efType);
+        // Have to load the existing records to get the size because there may be more than one
+        // phonebook set in which case the total capacity is the sum of the capacity of EF_ADN for
+        // all the phonebook sets whereas the recordsSize is just the size for a single EF.
+        List<AdnRecord> existingRecords = mIccPhoneBookSupplier.get()
+                .getAdnRecordsInEfForSubscriber(subscriptionInfo.getSubscriptionId(), efid);
+        if (existingRecords == null) {
+            existingRecords = ImmutableList.of();
+        }
         MatrixCursor.RowBuilder row = result.newRow()
                 .add(ElementaryFiles.SLOT_INDEX, subscriptionInfo.getSimSlotIndex())
                 .add(ElementaryFiles.SUBSCRIPTION_ID, subscriptionInfo.getSubscriptionId())
                 .add(ElementaryFiles.EF_TYPE, efType)
-                .add(ElementaryFiles.MAX_RECORDS, getRecordCount(recordsSize))
+                .add(ElementaryFiles.MAX_RECORDS, existingRecords.size())
                 .add(ElementaryFiles.NAME_MAX_LENGTH,
                         AdnRecord.getMaxAlphaTagBytes(getRecordSize(recordsSize)))
                 .add(ElementaryFiles.PHONE_NUMBER_MAX_LENGTH,
                         AdnRecord.getMaxPhoneNumberDigits());
         if (result.getColumnIndex(ElementaryFiles.RECORD_COUNT) != -1) {
-            int efid = efIdForEfType(efType);
-            List<AdnRecord> existingRecords = mIccPhoneBookSupplier.get()
-                    .getAdnRecordsInEfForSubscriber(subscriptionInfo.getSubscriptionId(), efid);
             int nonEmptyCount = 0;
             for (AdnRecord record : existingRecords) {
                 if (!record.isEmpty()) {
@@ -368,39 +374,46 @@
             return new MatrixCursor(projection, 0);
         }
         MatrixCursor result = new MatrixCursor(projection, records.size());
-        List<Pair<AdnRecord, MatrixCursor.RowBuilder>> rowBuilders = new ArrayList<>(
-                records.size());
-        for (AdnRecord record : records) {
+        SparseArray<MatrixCursor.RowBuilder> rowBuilders = new SparseArray<>(records.size());
+        for (int i = 0; i < records.size(); i++) {
+            AdnRecord record = records.get(i);
             if (!record.isEmpty()) {
-                rowBuilders.add(Pair.create(record, result.newRow()));
+                rowBuilders.put(i, result.newRow());
             }
         }
         // This is kind of ugly but avoids looking up columns in an inner loop.
         for (String column : projection) {
             switch (column) {
                 case SimRecords.SUBSCRIPTION_ID:
-                    for (Pair<AdnRecord, MatrixCursor.RowBuilder> row : rowBuilders) {
-                        row.second.add(args.subscriptionId);
+                    for (int i = 0; i < rowBuilders.size(); i++) {
+                        rowBuilders.valueAt(i).add(args.subscriptionId);
                     }
                     break;
                 case SimRecords.ELEMENTARY_FILE_TYPE:
-                    for (Pair<AdnRecord, MatrixCursor.RowBuilder> row : rowBuilders) {
-                        row.second.add(args.efType);
+                    for (int i = 0; i < rowBuilders.size(); i++) {
+                        rowBuilders.valueAt(i).add(args.efType);
                     }
                     break;
                 case SimRecords.RECORD_NUMBER:
-                    for (Pair<AdnRecord, MatrixCursor.RowBuilder> row : rowBuilders) {
-                        row.second.add(row.first.getRecId());
+                    for (int i = 0; i < rowBuilders.size(); i++) {
+                        int index = rowBuilders.keyAt(i);
+                        MatrixCursor.RowBuilder rowBuilder = rowBuilders.valueAt(i);
+                        // See b/201685690. The logical record number, i.e. the 1-based index in the
+                        // list, is used the rather than AdnRecord.getRecId() because getRecId is
+                        // not offset when a single logical EF is made up of multiple physical EFs.
+                        rowBuilder.add(index + 1);
                     }
                     break;
                 case SimRecords.NAME:
-                    for (Pair<AdnRecord, MatrixCursor.RowBuilder> row : rowBuilders) {
-                        row.second.add(row.first.getAlphaTag());
+                    for (int i = 0; i < rowBuilders.size(); i++) {
+                        AdnRecord record = records.get(rowBuilders.keyAt(i));
+                        rowBuilders.valueAt(i).add(record.getAlphaTag());
                     }
                     break;
                 case SimRecords.PHONE_NUMBER:
-                    for (Pair<AdnRecord, MatrixCursor.RowBuilder> row : rowBuilders) {
-                        row.second.add(row.first.getNumber());
+                    for (int i = 0; i < rowBuilders.size(); i++) {
+                        AdnRecord record = records.get(rowBuilders.keyAt(i));
+                        rowBuilders.valueAt(i).add(record.getNumber());
                     }
                     break;
                 default:
@@ -765,20 +778,9 @@
         if (records == null || args.recordNumber > records.size()) {
             return null;
         }
-        AdnRecord result = records.get(args.recordNumber - 1);
-        // This should be true but the service could have a different implementation.
-        if (result.getRecId() == args.recordNumber) {
-            return result;
-        }
-        for (AdnRecord record : records) {
-            if (record.getRecId() == args.recordNumber) {
-                return result;
-            }
-        }
-        return null;
+        return records.get(args.recordNumber - 1);
     }
 
-
     private int[] getRecordsSizeForEf(PhonebookArgs args) {
         try {
             return mIccPhoneBookSupplier.get().getAdnRecordsSizeForSubscriber(
diff --git a/src/com/android/phone/SpecialCharSequenceMgr.java b/src/com/android/phone/SpecialCharSequenceMgr.java
index 674449e..3bf0e1a 100644
--- a/src/com/android/phone/SpecialCharSequenceMgr.java
+++ b/src/com/android/phone/SpecialCharSequenceMgr.java
@@ -264,7 +264,7 @@
                 }
                 return isMMIHandled;
             } else {
-                AlertDialog dialog = new AlertDialog.Builder(context)
+                AlertDialog dialog = FrameworksUtils.makeAlertDialogBuilder(context)
                         .setMessage(R.string.pin_puk_system_user_only)
                         .setPositiveButton(R.string.ok, null)
                         .setCancelable(true).create();
@@ -294,7 +294,7 @@
         int labelId = TelephonyCapabilities.getDeviceIdLabel(phone);
         String deviceId = phone.getDeviceId();
 
-        AlertDialog alert = new AlertDialog.Builder(context)
+        AlertDialog alert = FrameworksUtils.makeAlertDialogBuilder(context)
                 .setTitle(labelId)
                 .setMessage(deviceId)
                 .setPositiveButton(R.string.ok, null)
diff --git a/src/com/android/phone/SubscriptionInfoHelper.java b/src/com/android/phone/SubscriptionInfoHelper.java
index 7c373e0..14faebc 100644
--- a/src/com/android/phone/SubscriptionInfoHelper.java
+++ b/src/com/android/phone/SubscriptionInfoHelper.java
@@ -91,7 +91,8 @@
 
         intent.putExtra(SubscriptionInfoHelper.SUB_ID_EXTRA, subscription.getSubscriptionId());
         intent.putExtra(
-                SubscriptionInfoHelper.SUB_LABEL_EXTRA, subscription.getDisplayName().toString());
+                SubscriptionInfoHelper.SUB_LABEL_EXTRA, subscription.getDisplayName() == null ? null
+                        : subscription.getDisplayName().toString());
     }
 
     /**
diff --git a/src/com/android/phone/TelephonyShellCommand.java b/src/com/android/phone/TelephonyShellCommand.java
index dbeb7ce..669e830 100644
--- a/src/com/android/phone/TelephonyShellCommand.java
+++ b/src/com/android/phone/TelephonyShellCommand.java
@@ -56,6 +56,7 @@
 import com.android.modules.utils.BasicShellCommandHandler;
 import com.android.phone.callcomposer.CallComposerPictureManager;
 
+import java.io.IOException;
 import java.io.PrintWriter;
 import java.util.ArrayList;
 import java.util.Arrays;
@@ -112,6 +113,7 @@
 
     private static final String CC_GET_VALUE = "get-value";
     private static final String CC_SET_VALUE = "set-value";
+    private static final String CC_SET_VALUES_FROM_XML = "set-values-from-xml";
     private static final String CC_CLEAR_VALUES = "clear-values";
 
     private static final String GBA_SUBCOMMAND = "gba";
@@ -151,6 +153,10 @@
     private static final String UCE_SET_CAPABILITY_REQUEST_TIMEOUT =
             "set-capabilities-request-timeout";
 
+    private static final String RADIO_SUBCOMMAND = "radio";
+    private static final String RADIO_SET_MODEM_SERVICE = "set-modem-service";
+    private static final String RADIO_GET_MODEM_SERVICE = "get-modem-service";
+
     // Check if a package has carrier privileges on any SIM, regardless of subId/phoneId.
     private static final String HAS_CARRIER_PRIVILEGES_COMMAND = "has-carrier-privileges";
 
@@ -165,6 +171,10 @@
             "get-allowed-network-types-for-users";
     private static final String SET_ALLOWED_NETWORK_TYPES_FOR_USER =
             "set-allowed-network-types-for-users";
+    // Check if telephony new data stack is enabled.
+    private static final String GET_DATA_MODE = "get-data-mode";
+    private static final String GET_IMEI = "get-imei";
+    private static final String GET_SIM_SLOTS_MAPPING = "get-sim-slots-mapping";
     // Take advantage of existing methods that already contain permissions checks when possible.
     private final ITelephony mInterface;
 
@@ -175,7 +185,7 @@
 
     private enum CcType {
         BOOLEAN, DOUBLE, DOUBLE_ARRAY, INT, INT_ARRAY, LONG, LONG_ARRAY, STRING,
-                STRING_ARRAY, UNKNOWN
+                STRING_ARRAY, PERSISTABLE_BUNDLE, UNKNOWN
     }
 
     private class CcOptionParseResult {
@@ -246,13 +256,13 @@
                 FeatureTags.FEATURE_TAG_CHATBOT_VERSION_SUPPORTED)));
         map.put("chatbot_v2", new ArraySet<>(Arrays.asList(
                 FeatureTags.FEATURE_TAG_CHATBOT_COMMUNICATION_USING_SESSION,
-                FeatureTags.FEATURE_TAG_CHATBOT_VERSION_SUPPORTED)));
+                FeatureTags.FEATURE_TAG_CHATBOT_VERSION_V2_SUPPORTED)));
         map.put("chatbot_sa", new ArraySet<>(Arrays.asList(
                 FeatureTags.FEATURE_TAG_CHATBOT_COMMUNICATION_USING_STANDALONE_MSG,
                 FeatureTags.FEATURE_TAG_CHATBOT_VERSION_SUPPORTED)));
         map.put("chatbot_sa_v2", new ArraySet<>(Arrays.asList(
                 FeatureTags.FEATURE_TAG_CHATBOT_COMMUNICATION_USING_STANDALONE_MSG,
-                FeatureTags.FEATURE_TAG_CHATBOT_VERSION_SUPPORTED)));
+                FeatureTags.FEATURE_TAG_CHATBOT_VERSION_V2_SUPPORTED)));
         map.put("chatbot_role", Collections.singleton(FeatureTags.FEATURE_TAG_CHATBOT_ROLE));
         TEST_FEATURE_TAG_MAP = Collections.unmodifiableMap(map);
     }
@@ -319,6 +329,14 @@
             case GET_ALLOWED_NETWORK_TYPES_FOR_USER:
             case SET_ALLOWED_NETWORK_TYPES_FOR_USER:
                 return handleAllowedNetworkTypesCommand(cmd);
+            case GET_DATA_MODE:
+                return handleGetDataMode();
+            case GET_IMEI:
+                return handleGetImei();
+            case GET_SIM_SLOTS_MAPPING:
+                return handleGetSimSlotsMapping();
+            case RADIO_SUBCOMMAND:
+                return handleRadioCommand();
             default: {
                 return handleDefaultCommands(cmd);
             }
@@ -357,6 +375,8 @@
         pw.println("    Get the Allowed Network Types.");
         pw.println("  set-allowed-network-types-for-users");
         pw.println("    Set the Allowed Network Types.");
+        pw.println("  radio");
+        pw.println("    Radio Commands.");
         onHelpIms();
         onHelpUce();
         onHelpEmergencyNumber();
@@ -368,6 +388,8 @@
         onHelpD2D();
         onHelpDisableOrEnablePhysicalSubscription();
         onHelpAllowedNetworkTypes();
+        onHelpRadio();
+        onHelpImei();
     }
 
     private void onHelpD2D() {
@@ -561,9 +583,17 @@
         pw.println("      used if NEW_VALUE is not set. Strings should be encapsulated with");
         pw.println("      quotation marks. Spaces needs to be escaped. Example: \"Hello\\ World\"");
         pw.println("      Separate items in arrays with space . Example: \"item1\" \"item2\"");
+        pw.println("  cc set-values-from-xml [-s SLOT_ID] [-p] < XML_FILE_PATH");
+        pw.println("    Set carrier config based on the contents of the XML_FILE. File must be");
+        pw.println("    provided through standard input and follow CarrierConfig XML format.");
+        pw.println("    Example: packages/apps/CarrierConfig/assets/*.xml");
+        pw.println("    Options are:");
+        pw.println("      -s: The SIM slot ID to set carrier config value for. If no option");
+        pw.println("          is specified, it will choose the default voice SIM slot.");
+        pw.println("      -p: Value will be stored persistent");
         pw.println("  cc clear-values [-s SLOT_ID]");
         pw.println("    Clear all carrier override values that has previously been set");
-        pw.println("    with set-value");
+        pw.println("    with set-value or set-values-from-xml");
         pw.println("    Options are:");
         pw.println("      -s: The SIM slot ID to clear carrier config values for. If no option");
         pw.println("          is specified, it will choose the default voice SIM slot.");
@@ -656,6 +686,30 @@
         pw.println("        LTE only                   : 01000001000000000000");
     }
 
+    private void onHelpRadio() {
+        PrintWriter pw = getOutPrintWriter();
+        pw.println("Radio Commands:");
+        pw.println("  radio set-modem-service [-s SERVICE_NAME]");
+        pw.println("    Sets the class name of modem service defined in SERVICE_NAME");
+        pw.println("    to be the bound. Options are:");
+        pw.println("      -s: the service name that the modem service should be bound for.");
+        pw.println("          If no option is specified, it will bind to the default.");
+        pw.println("  radio get-modem-service");
+        pw.println("    Gets the service name of the currently defined modem service.");
+        pw.println("    If it is binding to default, 'default' returns.");
+        pw.println("    If it doesn't bind to any modem service for some reasons,");
+        pw.println("    the result would be 'unknown'.");
+    }
+
+    private void onHelpImei() {
+        PrintWriter pw = getOutPrintWriter();
+        pw.println("IMEI Commands:");
+        pw.println("  get-imei [-s SLOT_ID]");
+        pw.println("    Gets the device IMEI. Options are:");
+        pw.println("      -s: the slot ID to get the IMEI. If no option");
+        pw.println("          is specified, it will choose the default voice SIM slot.");
+    }
+
     private int handleImsCommand() {
         String arg = getNextArg();
         if (arg == null) {
@@ -697,7 +751,7 @@
         switch (arg) {
             case ENABLE: {
                 try {
-                    mInterface.enableDataConnectivity();
+                    mInterface.enableDataConnectivity(mContext.getOpPackageName());
                 } catch (RemoteException ex) {
                     Log.w(LOG_TAG, "data enable, error " + ex.getMessage());
                     errPw.println("Exception: " + ex.getMessage());
@@ -707,7 +761,7 @@
             }
             case DISABLE: {
                 try {
-                    mInterface.disableDataConnectivity();
+                    mInterface.disableDataConnectivity(mContext.getOpPackageName());
                 } catch (RemoteException ex) {
                     Log.w(LOG_TAG, "data disable, error " + ex.getMessage());
                     errPw.println("Exception: " + ex.getMessage());
@@ -1458,6 +1512,9 @@
             case CC_SET_VALUE: {
                 return handleCcSetValue();
             }
+            case CC_SET_VALUES_FROM_XML: {
+                return handleCcSetValuesFromXml();
+            }
             case CC_CLEAR_VALUES: {
                 return handleCcClearValues();
             }
@@ -1475,7 +1532,7 @@
         String key = null;
 
         // Parse all options
-        CcOptionParseResult options =  parseCcOptions(tag, false);
+        CcOptionParseResult options = parseCcOptions(tag, false);
         if (options == null) {
             return -1;
         }
@@ -1515,7 +1572,7 @@
         String tag = CARRIER_CONFIG_SUBCOMMAND + " " + CC_SET_VALUE + ": ";
 
         // Parse all options
-        CcOptionParseResult options =  parseCcOptions(tag, true);
+        CcOptionParseResult options = parseCcOptions(tag, true);
         if (options == null) {
             return -1;
         }
@@ -1552,6 +1609,11 @@
             errPw.println(tag + "ERROR: Not possible to override key with unknown type.");
             return -1;
         }
+        if (type == CcType.PERSISTABLE_BUNDLE) {
+            errPw.println(tag + "ERROR: Overriding of persistable bundle type is not supported. "
+                    + "Use set-values-from-xml instead.");
+            return -1;
+        }
 
         // Create an override bundle containing the key and value that should be overriden.
         PersistableBundle overrideBundle = getOverrideBundle(tag, type, key, valueList);
@@ -1578,13 +1640,79 @@
         return 0;
     }
 
+    // cc set-values-from-xml
+    private int handleCcSetValuesFromXml() {
+        PrintWriter errPw = getErrPrintWriter();
+        String tag = CARRIER_CONFIG_SUBCOMMAND + " " + CC_SET_VALUES_FROM_XML + ": ";
+
+        // Parse all options
+        CcOptionParseResult options = parseCcOptions(tag, false);
+        if (options == null) {
+            return -1;
+        }
+
+        // Get bundle containing all current carrier configuration values.
+        PersistableBundle originalValues = mCarrierConfigManager.getConfigForSubId(options.mSubId);
+        if (originalValues == null) {
+            errPw.println(tag + "No carrier config values found for subId " + options.mSubId + ".");
+            return -1;
+        }
+
+        PersistableBundle overrideBundle = readPersistableBundleFromXml(tag);
+        if (overrideBundle == null) {
+            return -1;
+        }
+
+        // Verify all values are valid types
+        for (String key : overrideBundle.keySet()) {
+            CcType type = getType(tag, key, originalValues);
+            if (type == CcType.UNKNOWN) {
+                errPw.println(tag + "ERROR: Not possible to override key with unknown type.");
+                return -1;
+            }
+        }
+
+        // Override the value
+        mCarrierConfigManager.overrideConfig(options.mSubId, overrideBundle, options.mPersistent);
+
+        // Find bundle containing all new carrier configuration values after the override.
+        PersistableBundle newValues = mCarrierConfigManager.getConfigForSubId(options.mSubId);
+        if (newValues == null) {
+            errPw.println(tag + "No carrier config values found for subId " + options.mSubId + ".");
+            return -1;
+        }
+
+        // Print the original and new values
+        overrideBundle.keySet().forEach(key -> {
+            CcType type = getType(tag, key, originalValues);
+            String originalValueString = ccValueToString(key, type, originalValues);
+            String newValueString = ccValueToString(key, type, newValues);
+            getOutPrintWriter().println("Previous value: \n" + originalValueString);
+            getOutPrintWriter().println("New value: \n" + newValueString);
+        });
+
+        return 0;
+    }
+
+    private PersistableBundle readPersistableBundleFromXml(String tag) {
+        PersistableBundle subIdBundles;
+        try {
+            subIdBundles = PersistableBundle.readFromStream(getRawInputStream());
+        } catch (IOException | RuntimeException e) {
+            PrintWriter errPw = getErrPrintWriter();
+            errPw.println(tag + e);
+            return null;
+        }
+
+        return subIdBundles;
+    }
+
     // cc clear-values
     private int handleCcClearValues() {
-        PrintWriter errPw = getErrPrintWriter();
         String tag = CARRIER_CONFIG_SUBCOMMAND + " " + CC_CLEAR_VALUES + ": ";
 
         // Parse all options
-        CcOptionParseResult options =  parseCcOptions(tag, false);
+        CcOptionParseResult options = parseCcOptions(tag, false);
         if (options == null) {
             return -1;
         }
@@ -1605,23 +1733,34 @@
         } else if (value != null) {
             if (value instanceof Boolean) {
                 return CcType.BOOLEAN;
-            } else if (value instanceof Double) {
+            }
+            if (value instanceof Double) {
                 return CcType.DOUBLE;
-            } else if (value instanceof double[]) {
+            }
+            if (value instanceof double[]) {
                 return CcType.DOUBLE_ARRAY;
-            } else if (value instanceof Integer) {
+            }
+            if (value instanceof Integer) {
                 return CcType.INT;
-            } else if (value instanceof int[]) {
+            }
+            if (value instanceof int[]) {
                 return CcType.INT_ARRAY;
-            } else if (value instanceof Long) {
+            }
+            if (value instanceof Long) {
                 return CcType.LONG;
-            } else if (value instanceof long[]) {
+            }
+            if (value instanceof long[]) {
                 return CcType.LONG_ARRAY;
-            } else if (value instanceof String) {
+            }
+            if (value instanceof String) {
                 return CcType.STRING;
-            } else if (value instanceof String[]) {
+            }
+            if (value instanceof String[]) {
                 return CcType.STRING_ARRAY;
             }
+            if (value instanceof PersistableBundle) {
+                return CcType.PERSISTABLE_BUNDLE;
+            }
         } else {
             // Current value was null and can therefore not be used in order to find the type.
             // Check the name of the key to infer the type. This check is not needed for primitive
@@ -1641,6 +1780,9 @@
             if (key.endsWith("string_array") || key.endsWith("strings")) {
                 return CcType.STRING_ARRAY;
             }
+            if (key.endsWith("bundle")) {
+                return CcType.PERSISTABLE_BUNDLE;
+            }
         }
 
         // Not possible to infer the type by looking at the current value or the key.
@@ -1890,6 +2032,37 @@
         return result ? 0 : -1;
     }
 
+    private int handleGetImei() {
+        // Verify that the user is allowed to run the command. Only allowed in rooted device in a
+        // non user build.
+        if (Binder.getCallingUid() != Process.ROOT_UID || TelephonyUtils.IS_USER) {
+            getErrPrintWriter().println("Device IMEI: Permission denied.");
+            return -1;
+        }
+
+        final long identity = Binder.clearCallingIdentity();
+
+        String imei = null;
+        String arg = getNextArg();
+        if (arg != null) {
+            try {
+                int specifiedSlotIndex = Integer.parseInt(arg);
+                imei = TelephonyManager.from(mContext).getImei(specifiedSlotIndex);
+            } catch (NumberFormatException exception) {
+                PrintWriter errPw = getErrPrintWriter();
+                errPw.println("-s requires an integer as slot index.");
+                return -1;
+            }
+
+        } else {
+            imei = TelephonyManager.from(mContext).getImei();
+        }
+        getOutPrintWriter().println("Device IMEI: " + imei);
+
+        Binder.restoreCallingIdentity(identity);
+        return 0;
+    }
+
     private int handleUnattendedReboot() {
         // Verify that the user is allowed to run the command. Only allowed in rooted device in a
         // non user build.
@@ -1904,6 +2077,20 @@
         return result != TelephonyManager.PREPARE_UNATTENDED_REBOOT_ERROR ? 0 : -1;
     }
 
+    private int handleGetSimSlotsMapping() {
+        // Verify that the user is allowed to run the command. Only allowed in rooted device in a
+        // non user build.
+        if (Binder.getCallingUid() != Process.ROOT_UID || TelephonyUtils.IS_USER) {
+            getErrPrintWriter().println("GetSimSlotsMapping: Permission denied.");
+            return -1;
+        }
+        TelephonyManager telephonyManager = mContext.getSystemService(TelephonyManager.class);
+        String result = telephonyManager.getSimSlotMapping().toString();
+        getOutPrintWriter().println("simSlotsMapping: " + result);
+
+        return 0;
+    }
+
     private int handleGbaCommand() {
         String arg = getNextArg();
         if (arg == null) {
@@ -2725,4 +2912,87 @@
             return -1;
         }
     }
+
+    private int handleGetDataMode() {
+        if (!checkShellUid()) {
+            return -1;
+        }
+
+        boolean newDataStackEnabled = false;
+        try {
+            newDataStackEnabled = mInterface.isUsingNewDataStack();
+        } catch (RemoteException e) {
+            getOutPrintWriter().println("Something went wrong. " + e);
+            return -1;
+        }
+
+        getOutPrintWriter().println("Telephony is running with the "
+                + (newDataStackEnabled ? "new" : "old") + " data stack.");
+        return 0;
+    }
+
+    private int handleRadioSetModemServiceCommand() {
+        PrintWriter errPw = getErrPrintWriter();
+        String serviceName = null;
+
+        String opt;
+        while ((opt = getNextOption()) != null) {
+            switch (opt) {
+                case "-s": {
+                    serviceName = getNextArgRequired();
+                    break;
+                }
+            }
+        }
+
+        try {
+            boolean result = mInterface.setModemService(serviceName);
+            if (VDBG) {
+                Log.v(LOG_TAG,
+                        "RadioSetModemService " + serviceName + ", result = " + result);
+            }
+            getOutPrintWriter().println(result);
+        } catch (RemoteException e) {
+            Log.w(LOG_TAG,
+                    "RadioSetModemService: " + serviceName + ", error = " + e.getMessage());
+            errPw.println("Exception: " + e.getMessage());
+            return -1;
+        }
+        return 0;
+    }
+
+    private int handleRadioGetModemServiceCommand() {
+        PrintWriter errPw = getErrPrintWriter();
+        String result;
+
+        try {
+            result = mInterface.getModemService();
+            getOutPrintWriter().println(result);
+        } catch (RemoteException e) {
+            errPw.println("Exception: " + e.getMessage());
+            return -1;
+        }
+        if (VDBG) {
+            Log.v(LOG_TAG, "RadioGetModemService, result = " + result);
+        }
+        return 0;
+    }
+
+    private int handleRadioCommand() {
+        String arg = getNextArg();
+        if (arg == null) {
+            onHelpRadio();
+            return 0;
+        }
+
+        switch (arg) {
+            case RADIO_SET_MODEM_SERVICE:
+                return handleRadioSetModemServiceCommand();
+
+            case RADIO_GET_MODEM_SERVICE:
+                return handleRadioGetModemServiceCommand();
+        }
+
+        return -1;
+    }
 }
diff --git a/src/com/android/phone/TimeConsumingPreferenceActivity.java b/src/com/android/phone/TimeConsumingPreferenceActivity.java
index 8c5ae6d..d21f6a8 100644
--- a/src/com/android/phone/TimeConsumingPreferenceActivity.java
+++ b/src/com/android/phone/TimeConsumingPreferenceActivity.java
@@ -84,7 +84,7 @@
                 || id == FDN_CHECK_FAILURE || id == STK_CC_SS_TO_DIAL_ERROR
                 || id == STK_CC_SS_TO_USSD_ERROR || id == STK_CC_SS_TO_SS_ERROR
                 || id == STK_CC_SS_TO_DIAL_VIDEO_ERROR) {
-            AlertDialog.Builder builder = new AlertDialog.Builder(this);
+            AlertDialog.Builder builder = FrameworksUtils.makeAlertDialogBuilder(this);
 
             int msgId;
             int titleId = R.string.error_updating_title;
@@ -197,6 +197,7 @@
 
     @Override
     public void onException(Preference preference, CommandException exception) {
+        Log.i(LOG_TAG, "onError, preference=" + preference.getKey() + ", exception=" + exception);
         if (exception.getCommandError() == CommandException.Error.FDN_CHECK_FAILURE) {
             onError(preference, FDN_CHECK_FAILURE);
         } else if (exception.getCommandError() == CommandException.Error.RADIO_NOT_AVAILABLE) {
@@ -210,6 +211,10 @@
             onError(preference, STK_CC_SS_TO_USSD_ERROR);
         } else if (exception.getCommandError() == CommandException.Error.SS_MODIFIED_TO_SS) {
             onError(preference, STK_CC_SS_TO_SS_ERROR);
+        } else if (exception.getCommandError() == CommandException.Error.REQUEST_NOT_SUPPORTED) {
+            preference.setEnabled(false);
+            // Don't show an error dialog; just disable it if the request is not supported.
+            Log.i(LOG_TAG, "onError, suppress error dialog as not supported");
         } else {
             preference.setEnabled(false);
             onError(preference, EXCEPTION_ERROR);
diff --git a/src/com/android/phone/euicc/EuiccPrivilegedActionUiDispatcherActivity.java b/src/com/android/phone/euicc/EuiccPrivilegedActionUiDispatcherActivity.java
index 389795b..53640f2 100644
--- a/src/com/android/phone/euicc/EuiccPrivilegedActionUiDispatcherActivity.java
+++ b/src/com/android/phone/euicc/EuiccPrivilegedActionUiDispatcherActivity.java
@@ -35,6 +35,10 @@
     @Nullable
     protected Intent getEuiccUiIntent() {
         String action = getIntent().getAction();
+        if (action == null) {
+            Log.w(TAG, "No action is specified in the intent");
+            return null;
+        }
 
         Intent intent = new Intent();
         // Propagate the extras from the original Intent.
diff --git a/src/com/android/phone/euicc/EuiccPublicActionUiDispatcherActivity.java b/src/com/android/phone/euicc/EuiccPublicActionUiDispatcherActivity.java
index 64a40b9..cbee45a 100644
--- a/src/com/android/phone/euicc/EuiccPublicActionUiDispatcherActivity.java
+++ b/src/com/android/phone/euicc/EuiccPublicActionUiDispatcherActivity.java
@@ -34,6 +34,10 @@
     @Nullable
     protected Intent getEuiccUiIntent() {
         String action = getIntent().getAction();
+        if (action == null) {
+            Log.w(TAG, "No action is specified in the intent");
+            return null;
+        }
 
         Intent intent = new Intent();
         // Propagate the extras from the original Intent.
diff --git a/src/com/android/phone/euicc/EuiccUiDispatcherActivity.java b/src/com/android/phone/euicc/EuiccUiDispatcherActivity.java
index f24e7d6..804611f 100644
--- a/src/com/android/phone/euicc/EuiccUiDispatcherActivity.java
+++ b/src/com/android/phone/euicc/EuiccUiDispatcherActivity.java
@@ -134,6 +134,10 @@
     @Nullable
     protected Intent getEuiccUiIntent() {
         String action = getIntent().getAction();
+        if (action == null) {
+            Log.w(TAG, "No action is specified in the intent");
+            return null;
+        }
 
         Intent intent = new Intent();
         intent.putExtras(getIntent());
diff --git a/src/com/android/phone/otasp/OtaspSimStateReceiver.java b/src/com/android/phone/otasp/OtaspSimStateReceiver.java
index bb4022a..a47ab67 100644
--- a/src/com/android/phone/otasp/OtaspSimStateReceiver.java
+++ b/src/com/android/phone/otasp/OtaspSimStateReceiver.java
@@ -92,14 +92,22 @@
         mContext = context;
         if(CarrierConfigManager.ACTION_CARRIER_CONFIG_CHANGED.equals(intent.getAction())) {
             if (DBG) logd("Received intent: " + intent.getAction());
-            if (PhoneGlobals.getPhone().getIccRecordsLoaded() && isCarrierSupported()) {
-                registerOtaspChangedHandler();
-            }
+            // Allow the receiver to keep active after returning from onReceive().
+            final PendingResult result = goAsync();
+            // Do the actual work on another thread to prevent ANR.
+            new Thread(() -> {
+                if (DBG) logd("Start to process ACTION_CARRIER_CONFIG_CHANGED.");
+                if (PhoneGlobals.getPhone().getIccRecordsLoaded() && isCarrierSupported()) {
+                    registerOtaspChangedHandler();
+                }
+                result.finish();
+            }).start();
         }
     }
 
-    // It's fine to call mutiple times, as the registrants are de-duped by Handler object.
+    // It's fine to call multiple times, as the registrants are de-duped by Handler object.
     private void registerOtaspChangedHandler() {
+        if (DBG) logd("registerOtaspChangedHandler");
         final Phone phone = PhoneGlobals.getPhone();
         phone.registerForOtaspChange(mOtaspHandler, EVENT_OTASP_CHANGED, null);
     }
diff --git a/src/com/android/phone/settings/PhoneAccountSettingsFragment.java b/src/com/android/phone/settings/PhoneAccountSettingsFragment.java
index 224a1f9..49e1379 100644
--- a/src/com/android/phone/settings/PhoneAccountSettingsFragment.java
+++ b/src/com/android/phone/settings/PhoneAccountSettingsFragment.java
@@ -78,6 +78,9 @@
             new SubscriptionManager.OnSubscriptionsChangedListener() {
         @Override
         public void onSubscriptionsChanged() {
+            if (getActivity() == null) {
+                return;
+            }
             updateAccounts();
         }
     };
@@ -171,6 +174,7 @@
      */
     @Override
     public boolean onAccountSelected(AccountSelectionPreference pref, PhoneAccountHandle account) {
+        Log.d(LOG_TAG, String.format("onAccountSelected:  pref=[%s], account=[%s]", pref, account));
         if (pref == mDefaultOutgoingAccount) {
             mTelecomManager.setUserSelectedOutgoingPhoneAccount(account);
             return true;
diff --git a/src/com/android/phone/settings/RadioInfo.java b/src/com/android/phone/settings/RadioInfo.java
index d4c926e..2058d2d 100644
--- a/src/com/android/phone/settings/RadioInfo.java
+++ b/src/com/android/phone/settings/RadioInfo.java
@@ -17,12 +17,14 @@
 package com.android.phone.settings;
 
 import static android.net.ConnectivityManager.NetworkCallback;
+
 import static java.util.concurrent.TimeUnit.MILLISECONDS;
 
 import android.content.ComponentName;
 import android.content.Context;
 import android.content.DialogInterface;
 import android.content.Intent;
+import android.content.pm.ComponentInfo;
 import android.content.pm.PackageManager;
 import android.content.pm.ResolveInfo;
 import android.content.res.Resources;
@@ -46,18 +48,20 @@
 import android.telephony.CellIdentityCdma;
 import android.telephony.CellIdentityGsm;
 import android.telephony.CellIdentityLte;
+import android.telephony.CellIdentityNr;
 import android.telephony.CellIdentityWcdma;
 import android.telephony.CellInfo;
 import android.telephony.CellInfoCdma;
 import android.telephony.CellInfoGsm;
 import android.telephony.CellInfoLte;
+import android.telephony.CellInfoNr;
 import android.telephony.CellInfoWcdma;
 import android.telephony.CellSignalStrengthCdma;
 import android.telephony.CellSignalStrengthGsm;
 import android.telephony.CellSignalStrengthLte;
+import android.telephony.CellSignalStrengthNr;
 import android.telephony.CellSignalStrengthWcdma;
 import android.telephony.DataSpecificRegistrationInfo;
-import android.telephony.data.NetworkSlicingConfig;
 import android.telephony.NetworkRegistrationInfo;
 import android.telephony.PhysicalChannelConfig;
 import android.telephony.RadioAccessFamily;
@@ -65,7 +69,9 @@
 import android.telephony.SignalStrength;
 import android.telephony.SubscriptionManager;
 import android.telephony.TelephonyCallback;
+import android.telephony.TelephonyDisplayInfo;
 import android.telephony.TelephonyManager;
+import android.telephony.data.NetworkSlicingConfig;
 import android.text.TextUtils;
 import android.util.Log;
 import android.view.Menu;
@@ -91,6 +97,7 @@
 import com.android.ims.ImsManager;
 import com.android.internal.telephony.Phone;
 import com.android.internal.telephony.PhoneFactory;
+import com.android.internal.telephony.euicc.EuiccConnector;
 import com.android.phone.R;
 
 import java.io.IOException;
@@ -99,11 +106,10 @@
 import java.util.List;
 import java.util.concurrent.CompletableFuture;
 import java.util.concurrent.ExecutionException;
-import java.util.concurrent.Executor;
 import java.util.concurrent.LinkedBlockingDeque;
 import java.util.concurrent.ThreadPoolExecutor;
-import java.util.concurrent.TimeoutException;
 import java.util.concurrent.TimeUnit;
+import java.util.concurrent.TimeoutException;
 
 /**
  * Radio Information Class
@@ -221,6 +227,9 @@
     private static final String TRIGGER_CARRIER_PROVISIONING_ACTION =
             "com.android.phone.settings.TRIGGER_CARRIER_PROVISIONING";
 
+    private static final String ACTION_REMOVABLE_ESIM_AS_DEFAULT =
+            "android.telephony.euicc.action.REMOVABLE_ESIM_AS_DEFAULT";
+
     private TextView mDeviceId; //DeviceId is the IMEI in GSM and the MEID in CDMA
     private TextView mLine1Number;
     private TextView mSubscriptionId;
@@ -233,6 +242,7 @@
     private TextView mGprsState;
     private TextView mVoiceNetwork;
     private TextView mDataNetwork;
+    private TextView mOverrideNetwork;
     private TextView mDBm;
     private TextView mMwi;
     private TextView mCfi;
@@ -268,6 +278,7 @@
     private Switch mEabProvisionedSwitch;
     private Switch mCbrsDataSwitch;
     private Switch mDsdsSwitch;
+    private Switch mRemovableEsimSwitch;
     private Spinner mPreferredNetworkType;
     private Spinner mSelectPhoneIndex;
     private Spinner mCellInfoRefreshRateSpinner;
@@ -318,7 +329,8 @@
             TelephonyCallback.CallForwardingIndicatorListener,
             TelephonyCallback.CellInfoListener,
             TelephonyCallback.SignalStrengthsListener,
-            TelephonyCallback.ServiceStateListener {
+            TelephonyCallback.ServiceStateListener,
+            TelephonyCallback.DisplayInfoListener {
 
         @Override
         public void onDataConnectionStateChanged(int state, int networkType) {
@@ -372,6 +384,10 @@
             updateNrStats(serviceState);
         }
 
+        @Override
+        public void onDisplayInfoChanged(TelephonyDisplayInfo displayInfo) {
+            updateNetworkType();
+        }
     }
 
     private void updatePhysicalChannelConfiguration(List<PhysicalChannelConfig> configs) {
@@ -484,6 +500,7 @@
         mGprsState = (TextView) findViewById(R.id.gprs);
         mVoiceNetwork = (TextView) findViewById(R.id.voice_network);
         mDataNetwork = (TextView) findViewById(R.id.data_network);
+        mOverrideNetwork = (TextView) findViewById(R.id.override_network);
         mDBm = (TextView) findViewById(R.id.dbm);
         mMwi = (TextView) findViewById(R.id.mwi);
         mCfi = (TextView) findViewById(R.id.cfi);
@@ -508,18 +525,7 @@
         // hide 5G stats on devices that don't support 5G
         if ((mTelephonyManager.getSupportedRadioAccessFamily()
                 & TelephonyManager.NETWORK_TYPE_BITMASK_NR) == 0) {
-            ((TextView) findViewById(R.id.endc_available_label)).setVisibility(View.GONE);
-            mEndcAvailable.setVisibility(View.GONE);
-            ((TextView) findViewById(R.id.dcnr_restricted_label)).setVisibility(View.GONE);
-            mDcnrRestricted.setVisibility(View.GONE);
-            ((TextView) findViewById(R.id.nr_available_label)).setVisibility(View.GONE);
-            mNrAvailable.setVisibility(View.GONE);
-            ((TextView) findViewById(R.id.nr_state_label)).setVisibility(View.GONE);
-            mNrState.setVisibility(View.GONE);
-            ((TextView) findViewById(R.id.nr_frequency_label)).setVisibility(View.GONE);
-            mNrFrequency.setVisibility(View.GONE);
-            ((TextView) findViewById(R.id.network_slicing_config_label)).setVisibility(View.GONE);
-            mNetworkSlicingConfig.setVisibility(View.GONE);
+            setNrStatsVisibility(View.GONE);
         }
 
         mPreferredNetworkType = (Spinner) findViewById(R.id.preferredNetworkType);
@@ -573,6 +579,13 @@
             mDsdsSwitch.setVisibility(View.GONE);
         }
 
+        mRemovableEsimSwitch = (Switch) findViewById(R.id.removable_esim_switch);
+        if (!IS_USER_BUILD) {
+            mRemovableEsimSwitch.setEnabled(true);
+            mRemovableEsimSwitch.setChecked(mTelephonyManager.isRemovableEsimDefaultEuicc());
+            mRemovableEsimSwitch.setOnCheckedChangeListener(mRemovableEsimChangeListener);
+        }
+
         mRadioPowerOnSwitch = (Switch) findViewById(R.id.radio_power);
 
         mDownlinkKbps = (TextView) findViewById(R.id.dl_kbps);
@@ -618,8 +631,8 @@
 
         new Thread(() -> {
             int networkType = (int) mTelephonyManager.getPreferredNetworkTypeBitmask();
-            updatePreferredNetworkType(
-                    RadioAccessFamily.getNetworkTypeFromRaf(networkType));
+            runOnUiThread(() -> updatePreferredNetworkType(
+                    RadioAccessFamily.getNetworkTypeFromRaf(networkType)));
         }).start();
 
         restoreFromBundle(icicle);
@@ -675,8 +688,8 @@
 
         new Thread(() -> {
             int networkType = (int) mTelephonyManager.getPreferredNetworkTypeBitmask();
-            updatePreferredNetworkType(
-                    RadioAccessFamily.getNetworkTypeFromRaf(networkType));
+            runOnUiThread(() -> updatePreferredNetworkType(
+                    RadioAccessFamily.getNetworkTypeFromRaf(networkType)));
         }).start();
 
         // set phone index
@@ -819,6 +832,7 @@
         mOperatorName.setText("");
         mGprsState.setText("");
         mDataNetwork.setText("");
+        mOverrideNetwork.setText("");
         mVoiceNetwork.setText("");
         mSent.setText("");
         mReceived.setText("");
@@ -841,6 +855,21 @@
                 mTelephonyCallback);
     }
 
+    private void setNrStatsVisibility(int visibility) {
+        ((TextView) findViewById(R.id.endc_available_label)).setVisibility(visibility);
+        mEndcAvailable.setVisibility(visibility);
+        ((TextView) findViewById(R.id.dcnr_restricted_label)).setVisibility(visibility);
+        mDcnrRestricted.setVisibility(visibility);
+        ((TextView) findViewById(R.id.nr_available_label)).setVisibility(visibility);
+        mNrAvailable.setVisibility(visibility);
+        ((TextView) findViewById(R.id.nr_state_label)).setVisibility(visibility);
+        mNrState.setVisibility(visibility);
+        ((TextView) findViewById(R.id.nr_frequency_label)).setVisibility(visibility);
+        mNrFrequency.setVisibility(visibility);
+        ((TextView) findViewById(R.id.network_slicing_config_label)).setVisibility(visibility);
+        mNetworkSlicingConfig.setVisibility(visibility);
+    }
+
     private void updateDnsCheckState() {
         //FIXME: Replace with a TelephonyManager call
         mDnsCheckState.setText(mPhone.isDnsCheckDisabled()
@@ -854,7 +883,6 @@
         mUplinkKbps.setText(String.format("%-5d", ulbw));
     }
 
-
     private void updateSignalStrength(SignalStrength signalStrength) {
         Resources r = getResources();
 
@@ -950,6 +978,23 @@
                 getCellInfoDisplayString(ssLte.getTimingAdvance()));
     }
 
+    private String buildNrInfoString(CellInfoNr ci) {
+        CellIdentityNr cidNr = (CellIdentityNr) ci.getCellIdentity();
+        CellSignalStrengthNr ssNr = (CellSignalStrengthNr) ci.getCellSignalStrength();
+
+        return String.format(
+                "%-3.3s %-3.3s %-3.3s %-5.5s %-5.5s %-3.3s %-6.6s %-4.4s %-4.4s\n",
+                getConnectionStatusString(ci),
+                cidNr.getMccString(),
+                cidNr.getMncString(),
+                getCellInfoDisplayString(cidNr.getTac()),
+                getCellInfoDisplayString(cidNr.getNci()),
+                getCellInfoDisplayString(cidNr.getPci()),
+                getCellInfoDisplayString(cidNr.getNrarfcn()),
+                getCellInfoDisplayString(ssNr.getSsRsrp()),
+                getCellInfoDisplayString(ssNr.getSsRsrq()));
+    }
+
     private String buildWcdmaInfoString(CellInfoWcdma ci) {
         CellIdentityWcdma cidWcdma = ci.getCellIdentity();
         CellSignalStrengthWcdma ssWcdma = ci.getCellSignalStrength();
@@ -970,7 +1015,8 @@
         StringBuilder cdmaCells = new StringBuilder(),
                 gsmCells = new StringBuilder(),
                 lteCells = new StringBuilder(),
-                wcdmaCells = new StringBuilder();
+                wcdmaCells = new StringBuilder(),
+                nrCells = new StringBuilder();
 
         if (arrayCi != null) {
             for (CellInfo ci : arrayCi) {
@@ -983,8 +1029,19 @@
                     gsmCells.append(buildGsmInfoString((CellInfoGsm) ci));
                 } else if (ci instanceof CellInfoCdma) {
                     cdmaCells.append(buildCdmaInfoString((CellInfoCdma) ci));
+                } else if (ci instanceof CellInfoNr) {
+                    nrCells.append(buildNrInfoString((CellInfoNr) ci));
                 }
             }
+            if (nrCells.length() != 0) {
+                value += String.format(
+                        "NR\n%-3.3s %-3.3s %-3.3s %-5.5s %-5.5s %-3.3s"
+                                + " %-6.6s %-4.4s %-4.4s\n",
+                        "SRV", "MCC", "MNC", "TAC", "NCI", "PCI",
+                        "NRARFCN", "SS-RSRP", "SS-RSRQ");
+                value += nrCells.toString();
+            }
+
             if (lteCells.length() != 0) {
                 value += String.format(
                         "LTE\n%-3.3s %-3.3s %-3.3s %-5.5s %-5.5s %-3.3s"
@@ -1048,6 +1105,8 @@
                 display = r.getString(R.string.radioInfo_service_in);
                 break;
             case ServiceState.STATE_OUT_OF_SERVICE:
+                display = r.getString(R.string.radioInfo_service_out);
+                break;
             case ServiceState.STATE_EMERGENCY_ONLY:
                 display = r.getString(R.string.radioInfo_service_emergency);
                 break;
@@ -1111,11 +1170,14 @@
 
     private void updateNetworkType() {
         if (mPhone != null) {
-            ServiceState ss = mPhone.getServiceState();
             mDataNetwork.setText(ServiceState.rilRadioTechnologyToString(
                     mPhone.getServiceState().getRilDataRadioTechnology()));
             mVoiceNetwork.setText(ServiceState.rilRadioTechnologyToString(
                     mPhone.getServiceState().getRilVoiceRadioTechnology()));
+            int overrideNetwork = mPhone.getDisplayInfoController().getTelephonyDisplayInfo()
+                    .getOverrideNetworkType();
+            mOverrideNetwork.setText(
+                    TelephonyDisplayInfo.overrideNetworkTypeToString(overrideNetwork));
         }
     }
 
@@ -1124,7 +1186,6 @@
                 & TelephonyManager.NETWORK_TYPE_BITMASK_NR) == 0) {
             return;
         }
-
         ServiceState ss = serviceState;
         if (ss == null && mPhone != null) {
             ss = mPhone.getServiceState();
@@ -1135,21 +1196,20 @@
             if (nri != null) {
                 DataSpecificRegistrationInfo dsri = nri.getDataSpecificInfo();
                 if (dsri != null) {
-                    mEndcAvailable.setText(dsri.isEnDcAvailable ? "True" : "False");
-                    mDcnrRestricted.setText(dsri.isDcNrRestricted ? "True" : "False");
-                    mNrAvailable.setText(dsri.isNrAvailable ? "True" : "False");
+                    mEndcAvailable.setText(String.valueOf(dsri.isEnDcAvailable));
+                    mDcnrRestricted.setText(String.valueOf(dsri.isDcNrRestricted));
+                    mNrAvailable.setText(String.valueOf(dsri.isNrAvailable));
                 }
             }
             mNrState.setText(NetworkRegistrationInfo.nrStateToString(ss.getNrState()));
             mNrFrequency.setText(ServiceState.frequencyRangeToString(ss.getNrFrequencyRange()));
         }
 
-        Executor simpleExecutor = (r) -> r.run();
         CompletableFuture<NetworkSlicingConfig> resultFuture = new CompletableFuture<>();
-        mTelephonyManager.getNetworkSlicingConfiguration(simpleExecutor, resultFuture::complete);
+        mTelephonyManager.getNetworkSlicingConfiguration(Runnable::run, resultFuture::complete);
         try {
             NetworkSlicingConfig networkSlicingConfig =
-                resultFuture.get(DEFAULT_TIMEOUT_MS, MILLISECONDS);
+                    resultFuture.get(DEFAULT_TIMEOUT_MS, MILLISECONDS);
             mNetworkSlicingConfig.setText(networkSlicingConfig.toString());
         } catch (ExecutionException | InterruptedException | TimeoutException e) {
             Log.e(TAG, "Unable to get slicing config: " + e.toString());
@@ -1170,9 +1230,16 @@
         if (s == null) s = r.getString(R.string.radioInfo_unknown);
         mSubscriberId.setText(s);
 
-        //FIXME: Replace with a TelephonyManager call
-        s = mPhone.getLine1Number();
-        if (s == null) s = r.getString(R.string.radioInfo_unknown);
+        SubscriptionManager subMgr = getSystemService(SubscriptionManager.class);
+        int subId = mPhone.getSubId();
+        s = subMgr.getPhoneNumber(subId)
+                + " { CARRIER:"
+                + subMgr.getPhoneNumber(subId, SubscriptionManager.PHONE_NUMBER_SOURCE_CARRIER)
+                + ", UICC:"
+                + subMgr.getPhoneNumber(subId, SubscriptionManager.PHONE_NUMBER_SOURCE_UICC)
+                + ", IMS:"
+                + subMgr.getPhoneNumber(subId, SubscriptionManager.PHONE_NUMBER_SOURCE_IMS)
+                + " }";
         mLine1Number.setText(s);
     }
 
@@ -1823,4 +1890,27 @@
             }
         }
     };
+
+    OnCheckedChangeListener mRemovableEsimChangeListener = new OnCheckedChangeListener() {
+        @Override
+        public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
+            setRemovableEsimAsDefaultEuicc(isChecked);
+        }
+    };
+
+    private void setRemovableEsimAsDefaultEuicc(boolean isChecked) {
+        Log.d(TAG, "setRemovableEsimAsDefaultEuicc isChecked: " + isChecked);
+        mTelephonyManager.setRemovableEsimAsDefaultEuicc(isChecked);
+        // TODO(b/232528117): Instead of sending intent, add new APIs in platform,
+        //  LPA can directly use the API.
+        ComponentInfo componentInfo = EuiccConnector.findBestComponent(getPackageManager());
+        if (componentInfo == null) {
+            Log.d(TAG, "setRemovableEsimAsDefaultEuicc: unable to find suitable component info");
+            return;
+        }
+        final Intent intent = new Intent(ACTION_REMOVABLE_ESIM_AS_DEFAULT);
+        intent.setPackage(componentInfo.packageName);
+        intent.putExtra("isDefault", isChecked);
+        sendBroadcast(intent);
+    }
 }
diff --git a/src/com/android/phone/settings/fdn/GetPin2Screen.java b/src/com/android/phone/settings/fdn/GetPin2Screen.java
index 2394a69..09cab46 100644
--- a/src/com/android/phone/settings/fdn/GetPin2Screen.java
+++ b/src/com/android/phone/settings/fdn/GetPin2Screen.java
@@ -56,6 +56,7 @@
         mPin2Field.setOnEditorActionListener(this);
         mPin2Field.setInputType(
                 InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_VARIATION_PASSWORD);
+        mPin2Field.requestFocus();
 
         mOkButton = (Button) findViewById(R.id.ok);
         mOkButton.setOnClickListener(mClicked);
diff --git a/src/com/android/phone/vvm/VvmSimStateTracker.java b/src/com/android/phone/vvm/VvmSimStateTracker.java
index a77bd7b..ab8329c 100644
--- a/src/com/android/phone/vvm/VvmSimStateTracker.java
+++ b/src/com/android/phone/vvm/VvmSimStateTracker.java
@@ -88,7 +88,7 @@
                 VvmLog.e(TAG, "Cannot create TelephonyManager from " + mPhoneAccountHandle);
                 return;
             }
-            telephonyManager.registerTelephonyCallback(
+            telephonyManager.registerTelephonyCallback(TelephonyManager.INCLUDE_LOCATION_DATA_NONE,
                     new HandlerExecutor(new Handler(Looper.getMainLooper())), this);
         }
 
diff --git a/src/com/android/services/telephony/PstnIncomingCallNotifier.java b/src/com/android/services/telephony/PstnIncomingCallNotifier.java
index 4191367..8615325 100644
--- a/src/com/android/services/telephony/PstnIncomingCallNotifier.java
+++ b/src/com/android/services/telephony/PstnIncomingCallNotifier.java
@@ -38,6 +38,8 @@
 import com.android.internal.telephony.cdma.CdmaCallWaitingNotification;
 import com.android.internal.telephony.imsphone.ImsExternalCallTracker;
 import com.android.internal.telephony.imsphone.ImsExternalConnection;
+import com.android.internal.telephony.imsphone.ImsPhone;
+import com.android.internal.telephony.imsphone.ImsPhoneCallTracker;
 import com.android.internal.telephony.imsphone.ImsPhoneConnection;
 import com.android.phone.NumberVerificationManager;
 import com.android.phone.PhoneUtils;
@@ -97,6 +99,12 @@
                     break;
             }
         }
+
+        @Override
+        public String toString() {
+            return String.format("[PstnIncomingCallNotifierHandler; phoneId=[%s]",
+                    getPhoneIdAsString());
+        }
     };
 
     /**
@@ -123,7 +131,7 @@
      */
     private void registerForNotifications() {
         if (mPhone != null) {
-            Log.i(this, "Registering: %s", mPhone);
+            Log.i(this, "Registering: [%s]", getPhoneIdAsString());
             mPhone.registerForNewRingingConnection(mHandler, EVENT_NEW_RINGING_CONNECTION, null);
             mPhone.registerForCallWaiting(mHandler, EVENT_CDMA_CALL_WAITING, null);
             mPhone.registerForUnknownConnection(mHandler, EVENT_UNKNOWN_CONNECTION, null);
@@ -132,7 +140,7 @@
 
     private void unregisterForNotifications() {
         if (mPhone != null) {
-            Log.i(this, "Unregistering: %s", mPhone);
+            Log.i(this, "Unregistering: [%s]", getPhoneIdAsString());
             mPhone.unregisterForNewRingingConnection(mHandler);
             mPhone.unregisterForCallWaiting(mHandler);
             mPhone.unregisterForUnknownConnection(mHandler);
@@ -145,7 +153,7 @@
      * @param asyncResult The result object from the new ringing event.
      */
     private void handleNewRingingConnection(AsyncResult asyncResult) {
-        Log.d(this, "handleNewRingingConnection");
+        Log.i(this, "handleNewRingingConnection: phoneId=[%s]", getPhoneIdAsString());
         Connection connection = (Connection) asyncResult.result;
         if (connection != null) {
             Call call = connection.getCall();
@@ -175,7 +183,7 @@
     }
 
     private void handleCdmaCallWaiting(AsyncResult asyncResult) {
-        Log.d(this, "handleCdmaCallWaiting");
+        Log.i(this, "handleCdmaCallWaiting: phoneId=[%s]", getPhoneIdAsString());
         CdmaCallWaitingNotification ccwi = (CdmaCallWaitingNotification) asyncResult.result;
         Call call = mPhone.getRingingCall();
         if (call.getState() == Call.State.WAITING) {
@@ -189,7 +197,7 @@
                     // Presentation of number not allowed, but the presentation of the Connection
                     // and the call waiting presentation match.
                     Log.i(this, "handleCdmaCallWaiting: inform telecom of waiting call; "
-                                    + "presentation = %d", presentation);
+                            + "presentation = %d", presentation);
                     sendIncomingCallIntent(connection);
                 } else if (!TextUtils.isEmpty(number) && Objects.equals(number, ccwi.number)) {
                     // Presentation of the number is allowed, so we ensure the number matches the
@@ -198,7 +206,7 @@
                             + "number = %s", Rlog.pii(LOG_TAG, number));
                     sendIncomingCallIntent(connection);
                 } else {
-                    Log.w(this, "handleCdmaCallWaiting: presentation or number do not match, not"
+                    Log.i(this, "handleCdmaCallWaiting: presentation or number do not match, not"
                             + " informing telecom of call: %s", ccwi);
                 }
             }
@@ -206,9 +214,9 @@
     }
 
     private void handleNewUnknownConnection(AsyncResult asyncResult) {
-        Log.i(this, "handleNewUnknownConnection");
+        Log.i(this, "handleNewUnknownConnection: phoneId=[%s]", getPhoneIdAsString());
         if (!(asyncResult.result instanceof Connection)) {
-            Log.w(this, "handleNewUnknownConnection called with non-Connection object");
+            Log.i(this, "handleNewUnknownConnection called with non-Connection object");
             return;
         }
         Connection connection = (Connection) asyncResult.result;
@@ -400,7 +408,7 @@
             Log.i(this, "Receiving MT call in ECM. Using Emergency PhoneAccount Instead.");
             return emergencyHandle;
         }
-        Log.w(this, "PhoneAccount not found.");
+        Log.i(this, "PhoneAccount not found.");
         return null;
     }
 
@@ -447,11 +455,12 @@
             if (unknown instanceof ImsExternalConnection &&
                     !(telephonyConnection
                             .getOriginalConnection() instanceof ImsExternalConnection)) {
-                Log.v(this, "maybeSwapWithUnknownConnection - not swapping regular connection " +
-                        "with external connection.");
+                Log.i(this, "maybeSwapWithUnknownConnection - not swapping "
+                        + "regular connection with external connection.");
                 return false;
             }
 
+            Log.i(this, "maybeSwapWithUnknownConnection: swapping %s with %s", original, unknown);
             telephonyConnection.setOriginalConnection(unknown);
 
             // Do not call hang up if the original connection is an ImsExternalConnection, it is
@@ -469,9 +478,25 @@
                 phone.getCallTracker().cleanupCalls();
                 Log.i(this, "maybeSwapWithUnknownConnection - Invoking call tracker cleanup "
                         + "for connection: " + original);
+            } else if (original.getCall() != null && original.getCall().getPhone() != null
+                    && original.getCall().getPhone() instanceof ImsPhone
+                    && original instanceof ImsPhoneConnection) {
+                // We're replacing an existing ImsPhoneConnection; ensure we don't orhan the
+                // original connection.
+                ImsPhone phone = (ImsPhone) original.getCall().getPhone();
+                ImsPhoneCallTracker tracker = (ImsPhoneCallTracker) phone.getCallTracker();
+                tracker.cleanupAndRemoveConnection((ImsPhoneConnection) original);
+                Log.i(this, "maybeSwapWithUnknownConnection - cleanup/remove: " + original);
             }
             return true;
         }
         return false;
     }
-}
+
+    private String getPhoneIdAsString() {
+        if (mPhone == null) {
+            return "-1";
+        }
+        return String.valueOf(mPhone.getPhoneId());
+    }
+}
\ No newline at end of file
diff --git a/src/com/android/services/telephony/RadioOnHelper.java b/src/com/android/services/telephony/RadioOnHelper.java
index be2ddb2..63a648f 100644
--- a/src/com/android/services/telephony/RadioOnHelper.java
+++ b/src/com/android/services/telephony/RadioOnHelper.java
@@ -102,8 +102,20 @@
     private void powerOnRadio(boolean forEmergencyCall, Phone phoneForEmergencyCall,
             boolean isTestEmergencyNumber) {
 
+        // Always try to turn on the radio here independent of APM setting - if we got here in the
+        // first place, the radio is off independent of APM setting.
+        for (Phone phone : PhoneFactory.getPhones()) {
+            Log.d(this, "powerOnRadio, enabling Radio");
+            if (isTestEmergencyNumber) {
+                phone.setRadioPowerOnForTestEmergencyCall(phone == phoneForEmergencyCall);
+            } else {
+                phone.setRadioPower(true, forEmergencyCall, phone == phoneForEmergencyCall,
+                        false);
+            }
+        }
+
         // If airplane mode is on, we turn it off the same way that the Settings activity turns it
-        // off.
+        // off to keep the setting in sync.
         if (Settings.Global.getInt(mContext.getContentResolver(),
                 Settings.Global.AIRPLANE_MODE_ON, 0) > 0) {
             Log.d(this, "==> Turning off airplane mode for emergency call.");
@@ -112,16 +124,6 @@
             Settings.Global.putInt(mContext.getContentResolver(),
                     Settings.Global.AIRPLANE_MODE_ON, 0);
 
-            for (Phone phone : PhoneFactory.getPhones()) {
-                Log.d(this, "powerOnRadio, enabling Radio");
-                if (isTestEmergencyNumber) {
-                    phone.setRadioPowerOnForTestEmergencyCall(phone == phoneForEmergencyCall);
-                } else {
-                    phone.setRadioPower(true, forEmergencyCall, phone == phoneForEmergencyCall,
-                            false);
-                }
-            }
-
             // Post the broadcast intend for change in airplane mode
             // TODO: We really should not be in charge of sending this broadcast.
             // If changing the setting is sufficient to trigger all of the rest of the logic,
diff --git a/src/com/android/services/telephony/TelecomAccountRegistry.java b/src/com/android/services/telephony/TelecomAccountRegistry.java
index 1d749f4..a9b4c71 100644
--- a/src/com/android/services/telephony/TelecomAccountRegistry.java
+++ b/src/com/android/services/telephony/TelecomAccountRegistry.java
@@ -16,6 +16,7 @@
 
 package com.android.services.telephony;
 
+import android.app.PropertyInvalidatedCache;
 import android.content.BroadcastReceiver;
 import android.content.ComponentName;
 import android.content.Context;
@@ -831,6 +832,7 @@
                     // torn down.
                     return;
                 }
+
                 boolean isVideoPresenceSupported = isCarrierVideoPresenceSupported();
                 if (mIsVideoPresenceSupported != isVideoPresenceSupported) {
                     Log.i(this, "updateVideoPresenceCapability for subId=" + mPhone.getSubId()
@@ -841,30 +843,64 @@
         }
 
         public void updateRttCapability() {
-            boolean isRttEnabled = isRttCurrentlySupported();
-            if (isRttEnabled != mIsRttCapable) {
-                Log.i(this, "updateRttCapability - changed, new value: " + isRttEnabled);
-                mAccount = registerPstnPhoneAccount(mIsEmergency, mIsTestAccount);
+            synchronized (mAccountsLock) {
+                if (!mAccounts.contains(this)) {
+                    // Account has already been torn down, don't try to register it again.
+                    // This handles the case where teardown has already happened, and we got a Ims
+                    // registartion update that lost the race for the mAccountsLock.  In such a
+                    // scenario by the time we get here, the original phone account could have been
+                    // torn down.
+                    return;
+                }
+
+                boolean isRttEnabled = isRttCurrentlySupported();
+                if (isRttEnabled != mIsRttCapable) {
+                    Log.i(this, "updateRttCapability - changed, new value: " + isRttEnabled);
+                    mAccount = registerPstnPhoneAccount(mIsEmergency, mIsTestAccount);
+                }
             }
         }
 
         public void updateCallComposerCapability(MmTelFeature.MmTelCapabilities capabilities) {
-            boolean isCallComposerCapable = capabilities.isCapable(
-                    MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_CALL_COMPOSER);
-            if (isCallComposerCapable != mIsCallComposerCapable) {
-                mIsCallComposerCapable = isCallComposerCapable;
-                Log.i(this, "updateCallComposerCapability - changed, new value: "
-                        + isCallComposerCapable);
-                mAccount = registerPstnPhoneAccount(mIsEmergency, mIsTestAccount);
+            synchronized (mAccountsLock) {
+                if (!mAccounts.contains(this)) {
+                    // Account has already been torn down, don't try to register it again.
+                    // This handles the case where teardown has already happened, and we got a Ims
+                    // registartion update that lost the race for the mAccountsLock.  In such a
+                    // scenario by the time we get here, the original phone account could have been
+                    // torn down.
+                    return;
+                }
+
+                boolean isCallComposerCapable = capabilities.isCapable(
+                        MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_CALL_COMPOSER);
+                if (isCallComposerCapable != mIsCallComposerCapable) {
+                    mIsCallComposerCapable = isCallComposerCapable;
+                    Log.i(this, "updateCallComposerCapability - changed, new value: "
+                            + isCallComposerCapable);
+                    mAccount = registerPstnPhoneAccount(mIsEmergency, mIsTestAccount);
+                }
             }
         }
 
         public void updateDefaultDataSubId(int activeDataSubId) {
-            boolean isEmergencyPreferred = isEmergencyPreferredAccount(mPhone.getSubId(),
-                    activeDataSubId);
-            if (isEmergencyPreferred != mIsEmergencyPreferred) {
-                Log.i(this, "updateDefaultDataSubId - changed, new value: " + isEmergencyPreferred);
-                mAccount = registerPstnPhoneAccount(mIsEmergency, mIsTestAccount);
+            synchronized (mAccountsLock) {
+                if (!mAccounts.contains(this)) {
+                    // Account has already been torn down, don't try to register it again.
+                    // This handles the case where teardown has already happened, and we got a Ims
+                    // registartion update that lost the race for the mAccountsLock.  In such a
+                    // scenario by the time we get here, the original phone account could have been
+                    // torn down.
+                    return;
+                }
+
+                boolean isEmergencyPreferred = isEmergencyPreferredAccount(mPhone.getSubId(),
+                        activeDataSubId);
+                if (isEmergencyPreferred != mIsEmergencyPreferred) {
+                    Log.i(this,
+                            "updateDefaultDataSubId - changed, new value: " + isEmergencyPreferred);
+                    mAccount = registerPstnPhoneAccount(mIsEmergency, mIsTestAccount);
+                }
             }
         }
 
@@ -1386,7 +1422,8 @@
 
         // We also need to listen for changes to the service state (e.g. emergency -> in service)
         // because this could signal a removal or addition of a SIM in a single SIM phone.
-        mTelephonyManager.registerTelephonyCallback(new HandlerExecutor(mHandler),
+        mTelephonyManager.registerTelephonyCallback(TelephonyManager.INCLUDE_LOCATION_DATA_NONE,
+                new HandlerExecutor(mHandler),
                 mTelephonyCallback);
 
         // Listen for user switches.  When the user switches, we need to ensure that if the current
@@ -1558,6 +1595,9 @@
             }
             mAccounts.clear();
         }
+        // Invalidate the TelephonyManager cache which maps phone account handles to sub ids since
+        // all the phone account handles are being recreated at this point.
+        PropertyInvalidatedCache.invalidateCache(TelephonyManager.CACHE_KEY_PHONE_ACCOUNT_TO_SUBID);
     }
 
     /**
diff --git a/src/com/android/services/telephony/TelephonyConnection.java b/src/com/android/services/telephony/TelephonyConnection.java
old mode 100755
new mode 100644
index ce3cf01..ed07726
--- a/src/com/android/services/telephony/TelephonyConnection.java
+++ b/src/com/android/services/telephony/TelephonyConnection.java
@@ -2707,6 +2707,10 @@
         capabilities = changeBitmask(capabilities, CAPABILITY_SUPPORTS_VT_LOCAL_BIDIRECTIONAL,
                 isLocalVideoSupported);
 
+        capabilities = changeBitmask(capabilities, CAPABILITY_REMOTE_PARTY_SUPPORTS_RTT,
+                (mOriginalConnectionCapabilities & Capability.SUPPORTS_RTT_REMOTE)
+                == Capability.SUPPORTS_RTT_REMOTE);
+
         return capabilities;
     }
 
diff --git a/src/com/android/services/telephony/TelephonyConnectionService.java b/src/com/android/services/telephony/TelephonyConnectionService.java
index 8c5fb66..071376d 100644
--- a/src/com/android/services/telephony/TelephonyConnectionService.java
+++ b/src/com/android/services/telephony/TelephonyConnectionService.java
@@ -58,13 +58,14 @@
 import com.android.internal.telephony.Phone;
 import com.android.internal.telephony.PhoneConstants;
 import com.android.internal.telephony.PhoneFactory;
-import com.android.internal.telephony.PhoneSwitcher;
 import com.android.internal.telephony.RIL;
 import com.android.internal.telephony.SubscriptionController;
 import com.android.internal.telephony.d2d.Communicator;
+import com.android.internal.telephony.data.PhoneSwitcher;
 import com.android.internal.telephony.imsphone.ImsExternalCallTracker;
 import com.android.internal.telephony.imsphone.ImsPhone;
 import com.android.internal.telephony.imsphone.ImsPhoneConnection;
+import com.android.phone.FrameworksUtils;
 import com.android.phone.MMIDialogActivity;
 import com.android.phone.PhoneUtils;
 import com.android.phone.R;
@@ -499,7 +500,7 @@
         IntentFilter intentFilter = new IntentFilter(
                 TelecomManager.ACTION_TTY_PREFERRED_MODE_CHANGED);
         registerReceiver(mTtyBroadcastReceiver, intentFilter,
-                android.Manifest.permission.MODIFY_PHONE_STATE, null);
+                android.Manifest.permission.MODIFY_PHONE_STATE, null, Context.RECEIVER_EXPORTED);
     }
 
     @Override
@@ -2460,7 +2461,7 @@
                 if (showDialog) {
                     Log.d(this, "Creating UT Data enable dialog");
                     String message = SuppServicesUiUtil.makeMessage(context, suppKey, phone);
-                    AlertDialog.Builder builder = new AlertDialog.Builder(context);
+                    AlertDialog.Builder builder = FrameworksUtils.makeAlertDialogBuilder(context);
                     DialogInterface.OnClickListener networkSettingsClickListener =
                             new Dialog.OnClickListener() {
                                 @Override
diff --git a/src/com/android/services/telephony/rcs/DelegateStateTracker.java b/src/com/android/services/telephony/rcs/DelegateStateTracker.java
index 18aab88..29b8121 100644
--- a/src/com/android/services/telephony/rcs/DelegateStateTracker.java
+++ b/src/com/android/services/telephony/rcs/DelegateStateTracker.java
@@ -16,6 +16,10 @@
 
 package com.android.services.telephony.rcs;
 
+import android.app.compat.CompatChanges;
+import android.compat.annotation.ChangeId;
+import android.compat.annotation.EnabledAfter;
+import android.os.Build;
 import android.os.RemoteException;
 import android.telephony.ims.DelegateRegistrationState;
 import android.telephony.ims.FeatureTagState;
@@ -28,6 +32,7 @@
 import android.util.LocalLog;
 import android.util.Log;
 
+import com.android.internal.annotations.VisibleForTesting;
 import com.android.internal.telephony.metrics.RcsStats;
 
 import java.io.PrintWriter;
@@ -43,25 +48,69 @@
     private static final String LOG_TAG = "DelegateST";
 
     private final int mSubId;
+    private final int mUid;
     private final ISipDelegateConnectionStateCallback mAppStateCallback;
     private final ISipDelegate mLocalDelegateImpl;
 
     private final LocalLog mLocalLog = new LocalLog(SipTransportController.LOG_SIZE);
 
+    private final RcsStats mRcsStats;
+
     private List<FeatureTagState> mDelegateDeniedTags;
     private DelegateRegistrationState mLastRegState;
     private boolean mCreatedCalled = false;
     private int mRegistrationStateOverride = -1;
-
+    private CompatChangesFactory mCompatChangesFactory;
     private Set<String> mDelegateSupportedTags;
-    private final RcsStats mRcsStats;
 
-    public DelegateStateTracker(int subId, ISipDelegateConnectionStateCallback appStateCallback,
+    /**
+     * Interface for checking compatibility of apps
+     */
+    public interface CompatChangesFactory {
+        /**
+         *  @param changeId The ID of the compatibility change.
+         *  @param uid      The UID of the app.
+         *  @return {@code true} if the change is enabled for the current app.
+         */
+        boolean isChangeEnabled(long changeId, int uid);
+    }
+
+    /**
+     * For apps targeting Android T and above, support the REGISTERING state on APIs, such as
+     * {@code DelegateRegistrationState#addRegisteringFeatureTags} and
+     * {@code DelegateRegistrationState#getRegisteringFeatureTags}
+     * @hide
+     */
+    @ChangeId
+    @EnabledAfter(targetSdkVersion = Build.VERSION_CODES.S)
+    @VisibleForTesting
+    public static final long SUPPORT_REGISTERING_DELEGATE_STATE = 205194548;
+
+    /**
+     * For apps targeting Android T and above, support the DEREGISTERING_REASON_LOSING_PDN state
+     * on APIs, such as {@code DelegateRegistrationState#addDeregisteringFeatureTag} and
+     * {@code DelegateRegistrationState#getDeregisteringFeatureTags}
+     * @hide
+     */
+    @ChangeId
+    @EnabledAfter(targetSdkVersion = Build.VERSION_CODES.S)
+    @VisibleForTesting
+    public static final long SUPPORT_DEREGISTERING_LOSING_PDN_STATE = 201522903;
+
+    public DelegateStateTracker(int subId, int uid,
+            ISipDelegateConnectionStateCallback appStateCallback,
             ISipDelegate localDelegateImpl, RcsStats rcsStats) {
         mSubId = subId;
+        mUid = uid;
         mAppStateCallback = appStateCallback;
         mLocalDelegateImpl = localDelegateImpl;
         mRcsStats = rcsStats;
+        setCompatChangesFactory((changeId, uid1) -> CompatChanges.isChangeEnabled(changeId, uid1));
+    }
+
+    @VisibleForTesting
+    protected void setCompatChangesFactory(CompatChangesFactory factory) {
+        mCompatChangesFactory = factory;
     }
 
     /**
@@ -140,6 +189,13 @@
      */
     @Override
     public void onRegistrationStateChanged(DelegateRegistrationState registrationState) {
+        if (!mCompatChangesFactory.isChangeEnabled(SUPPORT_DEREGISTERING_LOSING_PDN_STATE, mUid)) {
+            registrationState = overrideDeregisteringStateForCompatibility(registrationState);
+        }
+        if (!mCompatChangesFactory.isChangeEnabled(SUPPORT_REGISTERING_DELEGATE_STATE, mUid)) {
+            registrationState = overrideRegistrationForCompatibility(registrationState);
+        }
+
         if (mRegistrationStateOverride > DelegateRegistrationState.DEREGISTERED_REASON_UNKNOWN) {
             logi("onRegistrationStateChanged: overriding registered state to "
                     + mRegistrationStateOverride);
@@ -204,6 +260,7 @@
     private DelegateRegistrationState overrideRegistrationForDelegateChange(
             int registerOverrideReason, DelegateRegistrationState state) {
         Set<String> registeredFeatures = state.getRegisteredFeatureTags();
+        Set<String> registeringFeatures = state.getRegisteringFeatureTags();
         DelegateRegistrationState.Builder overriddenState = new DelegateRegistrationState.Builder();
         // keep other deregistering/deregistered tags the same.
         for (FeatureTagState dereging : state.getDeregisteringFeatureTags()) {
@@ -214,13 +271,78 @@
             overriddenState.addDeregisteredFeatureTag(dereged.getFeatureTag(),
                     dereged.getState());
         }
-        // Override REGISTERED only
+        // Override REGISTERING/REGISTERED
+        for (String ft : registeringFeatures) {
+            overriddenState.addDeregisteringFeatureTag(ft, registerOverrideReason);
+        }
         for (String ft : registeredFeatures) {
             overriddenState.addDeregisteringFeatureTag(ft, registerOverrideReason);
         }
         return overriddenState.build();
     }
 
+    private DelegateRegistrationState overrideRegistrationForCompatibility(
+            DelegateRegistrationState state) {
+        Set<String> registeredFeatures = state.getRegisteredFeatureTags();
+        Set<String> registeringFeatures = state.getRegisteringFeatureTags();
+        DelegateRegistrationState.Builder overriddenState = new DelegateRegistrationState.Builder();
+        // keep other registered/deregistering/deregistered tags the same.
+        for (FeatureTagState dereging : state.getDeregisteringFeatureTags()) {
+            overriddenState.addDeregisteringFeatureTag(dereging.getFeatureTag(),
+                    dereging.getState());
+        }
+        for (FeatureTagState dereged : state.getDeregisteredFeatureTags()) {
+            overriddenState.addDeregisteredFeatureTag(dereged.getFeatureTag(),
+                    dereged.getState());
+        }
+        overriddenState.addRegisteredFeatureTags(registeredFeatures);
+
+        // move the REGISTERING state to the DEREGISTERED state.
+        for (String tag : registeringFeatures) {
+            overriddenState.addDeregisteredFeatureTag(tag,
+                    DelegateRegistrationState.DEREGISTERED_REASON_NOT_REGISTERED);
+        }
+
+        return overriddenState.build();
+    }
+
+    /**
+     * @param state The RegistrationState reported by the SipDelegate to be sent to the
+     *              IMS application .
+     * @return DEREGISTERING_REASON_PDN_CHANGE instead of DEREGISTERING_REASON_LOSING_PDN
+     * if the SUPPORT_DEREGISTERING_LOSING_PDN_STATE compat key is not enabled for the application
+     * consuming the registration change events.
+     */
+    private DelegateRegistrationState overrideDeregisteringStateForCompatibility(
+            DelegateRegistrationState state) {
+        Set<String> registeredFeatures = state.getRegisteredFeatureTags();
+        Set<String> registeringFeatures = state.getRegisteringFeatureTags();
+        DelegateRegistrationState.Builder overriddenState = new DelegateRegistrationState.Builder();
+
+        // keep other registered/registering/deregistered tags the same.
+        for (FeatureTagState dereged : state.getDeregisteredFeatureTags()) {
+            overriddenState.addDeregisteredFeatureTag(dereged.getFeatureTag(),
+                    dereged.getState());
+        }
+        overriddenState.addRegisteredFeatureTags(registeredFeatures);
+        overriddenState.addRegisteringFeatureTags(registeringFeatures);
+
+        // change DEREGISTERING_REASON_LOSING_PDN to DEREGISTERING_REASON_PDN_CHANGE
+        for (FeatureTagState dereging : state.getDeregisteringFeatureTags()) {
+            overriddenState.addDeregisteringFeatureTag(dereging.getFeatureTag(),
+                    getDeregisteringReasonForCompatibility(dereging.getState()));
+        }
+
+        return overriddenState.build();
+    }
+
+    private int getDeregisteringReasonForCompatibility(int reason) {
+        if (reason == DelegateRegistrationState.DEREGISTERING_REASON_LOSING_PDN) {
+            reason = DelegateRegistrationState.DEREGISTERING_REASON_PDN_CHANGE;
+        }
+        return reason;
+    }
+
     private void notifySipDelegateCreated() {
         try {
             mAppStateCallback.onCreated(mLocalDelegateImpl);
diff --git a/src/com/android/services/telephony/rcs/RcsFeatureController.java b/src/com/android/services/telephony/rcs/RcsFeatureController.java
index 7834903..0e1cb4b 100644
--- a/src/com/android/services/telephony/rcs/RcsFeatureController.java
+++ b/src/com/android/services/telephony/rcs/RcsFeatureController.java
@@ -33,6 +33,7 @@
 import com.android.internal.annotations.VisibleForTesting;
 import com.android.internal.telephony.imsphone.ImsRegistrationCallbackHelper;
 import com.android.internal.util.IndentingPrintWriter;
+import com.android.phone.ImsStateCallbackController;
 
 import java.io.FileDescriptor;
 import java.io.PrintWriter;
@@ -127,7 +128,7 @@
     private FeatureConnector.Listener<RcsFeatureManager> mFeatureConnectorListener =
             new FeatureConnector.Listener<RcsFeatureManager>() {
                 @Override
-                public void connectionReady(RcsFeatureManager manager)
+                public void connectionReady(RcsFeatureManager manager, int subId)
                         throws com.android.ims.ImsException {
                     if (manager == null) {
                         logw("connectionReady returned null RcsFeatureManager");
@@ -139,6 +140,8 @@
                         // ImsService is gone.
                         updateConnectionStatus(manager);
                         setupConnectionToService(manager);
+                        ImsStateCallbackController.getInstance()
+                                .notifyExternalRcsStateChanged(mSlotId, true, true);
                     } catch (ImsException e) {
                         updateConnectionStatus(null /*manager*/);
                         // Use deprecated Exception for compatibility.
diff --git a/src/com/android/services/telephony/rcs/SipDelegateController.java b/src/com/android/services/telephony/rcs/SipDelegateController.java
index c728141..860a6d9 100644
--- a/src/com/android/services/telephony/rcs/SipDelegateController.java
+++ b/src/com/android/services/telephony/rcs/SipDelegateController.java
@@ -78,6 +78,7 @@
     }
 
     private final int mSubId;
+    private final int mUid;
     private final String mPackageName;
     private final DelegateRequest mInitialRequest;
     private final ScheduledExecutorService mExecutorService;
@@ -89,12 +90,13 @@
     private DelegateBinderStateManager mBinderConnection;
     private Set<String> mTrackedFeatureTags;
 
-    public SipDelegateController(int subId, DelegateRequest initialRequest, String packageName,
-            ISipTransport transportImpl, IImsRegistration registrationImpl,
+    public SipDelegateController(int subId, int uid, DelegateRequest initialRequest,
+            String packageName, ISipTransport transportImpl, IImsRegistration registrationImpl,
             ScheduledExecutorService executorService,
             ISipDelegateConnectionStateCallback stateCallback,
             ISipDelegateMessageCallback messageCallback) {
         mSubId = subId;
+        mUid = uid;
         mPackageName = packageName;
         mInitialRequest = initialRequest;
         mExecutorService = executorService;
@@ -102,7 +104,8 @@
 
         mMessageTransportWrapper = new MessageTransportWrapper(mSubId, executorService,
                 messageCallback);
-        mDelegateStateTracker = new DelegateStateTracker(mSubId, stateCallback,
+
+        mDelegateStateTracker = new DelegateStateTracker(mSubId, mUid, stateCallback,
                 mMessageTransportWrapper.getDelegateConnection(), RcsStats.getInstance());
     }
 
@@ -110,12 +113,13 @@
      * Inject dependencies for testing only.
      */
     @VisibleForTesting
-    public SipDelegateController(int subId, DelegateRequest initialRequest, String packageName,
-            ScheduledExecutorService executorService,
+    public SipDelegateController(int subId, int uid, DelegateRequest initialRequest,
+            String packageName, ScheduledExecutorService executorService,
             MessageTransportWrapper messageTransportWrapper,
             DelegateStateTracker delegateStateTracker,
             DelegateBinderStateManager.Factory connectionFactory) {
         mSubId = subId;
+        mUid = uid;
         mInitialRequest = initialRequest;
         mPackageName = packageName;
         mExecutorService = executorService;
diff --git a/src/com/android/services/telephony/rcs/SipTransportController.java b/src/com/android/services/telephony/rcs/SipTransportController.java
index 709e142..0aa3aa0 100644
--- a/src/com/android/services/telephony/rcs/SipTransportController.java
+++ b/src/com/android/services/telephony/rcs/SipTransportController.java
@@ -243,9 +243,9 @@
     @VisibleForTesting
     public interface SipDelegateControllerFactory {
         /** See {@link SipDelegateController} */
-        SipDelegateController create(int subId, DelegateRequest initialRequest, String packageName,
-                ISipTransport sipTransportImpl,  IImsRegistration registrationImpl,
-                ScheduledExecutorService executorService,
+        SipDelegateController create(int subId, int uid, DelegateRequest initialRequest,
+                String packageName, ISipTransport sipTransportImpl,
+                IImsRegistration registrationImpl, ScheduledExecutorService executorService,
                 ISipDelegateConnectionStateCallback stateCallback,
                 ISipDelegateMessageCallback messageCallback);
     }
@@ -364,17 +364,18 @@
      * {@link ISipDelegateConnectionStateCallback#onCreated(ISipDelegate)} must be called with
      * the AIDL instance corresponding to the remote {@link SipDelegate}.
      * @param subId the subId associated with the request.
+     * @param uid the uid associated with the request
      * @param request The request parameters used to create the {@link SipDelegate}.
      * @param delegateState The {@link DelegateConnectionStateCallback} Binder connection.
      * @param delegateMessage The {@link DelegateConnectionMessageCallback} Binder Connection
      * @throws ImsException if the request to create the {@link SipDelegate} did not complete.
      */
-    public void createSipDelegate(int subId, DelegateRequest request, String packageName,
+    public void createSipDelegate(int subId, int uid, DelegateRequest request, String packageName,
             ISipDelegateConnectionStateCallback delegateState,
             ISipDelegateMessageCallback delegateMessage) throws ImsException {
         logi("createSipDelegate: request= " + request + ", packageName= " + packageName);
         CompletableFuture<ImsException> result = new CompletableFuture<>();
-        mExecutorService.submit(() -> createSipDelegateInternal(subId, request, packageName,
+        mExecutorService.submit(() -> createSipDelegateInternal(subId, uid, request, packageName,
                 delegateState,
                 // Capture any ImsExceptions generated during the process.
                 delegateMessage, result::complete));
@@ -423,8 +424,8 @@
         return result;
     }
 
-    private void createSipDelegateInternal(int subId, DelegateRequest request, String packageName,
-            ISipDelegateConnectionStateCallback delegateState,
+    private void createSipDelegateInternal(int subId, int uid, DelegateRequest request,
+            String packageName, ISipDelegateConnectionStateCallback delegateState,
             ISipDelegateMessageCallback delegateMessage,
             Consumer<ImsException> startedErrorConsumer) {
         ISipTransport transport;
@@ -450,8 +451,9 @@
             return;
         }
 
-        SipDelegateController c = mDelegateControllerFactory.create(subId, request, packageName,
-                transport, registration, mExecutorService, delegateState, delegateMessage);
+        SipDelegateController c = mDelegateControllerFactory.create(subId, uid, request,
+                packageName, transport, registration, mExecutorService, delegateState,
+                delegateMessage);
         logi("createSipDelegateInternal: request= " + request + ", packageName= " + packageName
                 + ", controller created: " + c);
         addPendingCreateAndEvaluate(c);
diff --git a/src/com/android/services/telephony/rcs/TelephonyRcsService.java b/src/com/android/services/telephony/rcs/TelephonyRcsService.java
index 046910c..dfcea74 100644
--- a/src/com/android/services/telephony/rcs/TelephonyRcsService.java
+++ b/src/com/android/services/telephony/rcs/TelephonyRcsService.java
@@ -34,6 +34,7 @@
 import com.android.internal.telephony.PhoneConfigurationManager;
 import com.android.internal.telephony.metrics.RcsStats;
 import com.android.internal.util.IndentingPrintWriter;
+import com.android.phone.ImsStateCallbackController;
 import com.android.phone.R;
 
 import java.io.FileDescriptor;
@@ -313,6 +314,9 @@
         }
         // Only start the connection procedure if we have active features.
         if (c.hasActiveFeatures()) c.connect();
+
+        ImsStateCallbackController.getInstance()
+                .notifyExternalRcsStateChanged(slotId, false, c.hasActiveFeatures());
     }
 
     /**
diff --git a/src/com/android/services/telephony/rcs/UceControllerManager.java b/src/com/android/services/telephony/rcs/UceControllerManager.java
index 995d685..02ae048 100644
--- a/src/com/android/services/telephony/rcs/UceControllerManager.java
+++ b/src/com/android/services/telephony/rcs/UceControllerManager.java
@@ -206,10 +206,11 @@
      *
      * @throws ImsException if the ImsService connected to this controller is currently down.
      */
-    public @PublishState int getUcePublishState() throws ImsException {
+    public @PublishState int getUcePublishState(boolean isSupportPublishingState)
+            throws ImsException {
         Future<Integer> future = mExecutorService.submit(() -> {
             checkUceControllerState();
-            return mUceController.getUcePublishState();
+            return mUceController.getUcePublishState(isSupportPublishingState);
         });
 
         try {
@@ -390,10 +391,11 @@
      *
      * @throws ImsException if the ImsService connected to this controller is currently down.
      */
-    public void registerPublishStateCallback(IRcsUcePublishStateCallback c) throws ImsException {
+    public void registerPublishStateCallback(IRcsUcePublishStateCallback c,
+            boolean supportPublishingState) throws ImsException {
         Future future = mExecutorService.submit(() -> {
             checkUceControllerState();
-            mUceController.registerPublishStateCallback(c);
+            mUceController.registerPublishStateCallback(c, supportPublishingState);
             return true;
         });
 
diff --git a/testapps/EmbmsServiceTestApp/Android.bp b/testapps/EmbmsServiceTestApp/Android.bp
index 584e5bd..236ba43 100644
--- a/testapps/EmbmsServiceTestApp/Android.bp
+++ b/testapps/EmbmsServiceTestApp/Android.bp
@@ -1,13 +1,9 @@
-// Build the Sample Embms Services
 package {
     // See: http://go/android-license-faq
-    // A large-scale-change added 'default_applicable_licenses' to import
-    // all of the 'license_kinds' from "packages_services_Telephony_license"
-    // to get the below license kinds:
-    //   SPDX-license-identifier-Apache-2.0
-    default_applicable_licenses: ["packages_services_Telephony_license"],
+    default_applicable_licenses: ["Android-Apache-2.0"],
 }
 
+// Build the Sample Embms Services
 android_app {
     name: "EmbmsTestService",
     srcs: ["src/**/*.java"],
diff --git a/testapps/EmbmsTestDownloadApp/Android.bp b/testapps/EmbmsTestDownloadApp/Android.bp
index c1b9425..7a70221 100644
--- a/testapps/EmbmsTestDownloadApp/Android.bp
+++ b/testapps/EmbmsTestDownloadApp/Android.bp
@@ -1,10 +1,6 @@
 package {
     // See: http://go/android-license-faq
-    // A large-scale-change added 'default_applicable_licenses' to import
-    // all of the 'license_kinds' from "packages_services_Telephony_license"
-    // to get the below license kinds:
-    //   SPDX-license-identifier-Apache-2.0
-    default_applicable_licenses: ["packages_services_Telephony_license"],
+    default_applicable_licenses: ["Android-Apache-2.0"],
 }
 
 src_dirs = ["src"]
diff --git a/testapps/EmbmsTestStreamingApp/Android.bp b/testapps/EmbmsTestStreamingApp/Android.bp
index 9f082ee..d2b8d46 100644
--- a/testapps/EmbmsTestStreamingApp/Android.bp
+++ b/testapps/EmbmsTestStreamingApp/Android.bp
@@ -1,10 +1,6 @@
 package {
     // See: http://go/android-license-faq
-    // A large-scale-change added 'default_applicable_licenses' to import
-    // all of the 'license_kinds' from "packages_services_Telephony_license"
-    // to get the below license kinds:
-    //   SPDX-license-identifier-Apache-2.0
-    default_applicable_licenses: ["packages_services_Telephony_license"],
+    default_applicable_licenses: ["Android-Apache-2.0"],
 }
 
 android_test {
diff --git a/testapps/GbaTestApp/Android.bp b/testapps/GbaTestApp/Android.bp
index b3c45dd..76e02a0 100644
--- a/testapps/GbaTestApp/Android.bp
+++ b/testapps/GbaTestApp/Android.bp
@@ -14,11 +14,7 @@
 
 package {
     // See: http://go/android-license-faq
-    // A large-scale-change added 'default_applicable_licenses' to import
-    // all of the 'license_kinds' from "packages_services_Telephony_license"
-    // to get the below license kinds:
-    //   SPDX-license-identifier-Apache-2.0
-    default_applicable_licenses: ["packages_services_Telephony_license"],
+    default_applicable_licenses: ["Android-Apache-2.0"],
 }
 
 android_test {
diff --git a/testapps/GbaTestApp/res/values-ro/strings.xml b/testapps/GbaTestApp/res/values-ro/strings.xml
index d7f9e7b..dd44364 100644
--- a/testapps/GbaTestApp/res/values-ro/strings.xml
+++ b/testapps/GbaTestApp/res/values-ro/strings.xml
@@ -7,9 +7,9 @@
     <string name="label_service" msgid="2668963955237345578">"Configurația serviciului"</string>
     <string name="label_test" msgid="8425079572898571918">"Configurație de testare"</string>
     <string name="button_name_running" msgid="4557363091224858010">"Rulează"</string>
-    <string name="button_name_exit" msgid="8025683733431538975">"Ieșiți"</string>
+    <string name="button_name_exit" msgid="8025683733431538975">"Ieși"</string>
     <string name="label_test_result" msgid="892984695972956196">"Rezultatul testului"</string>
-    <string name="button_name_clear" msgid="436313515327318537">"Resetați"</string>
+    <string name="button_name_clear" msgid="436313515327318537">"Resetează"</string>
     <string name="button_name_done" msgid="6030406534322497491">"Terminat"</string>
     <string name="title_activity_carrier_config" msgid="7807803900475957717">"CarrierConfigActivity"</string>
     <string name="title_activity_service_config" msgid="5394662739555577279">"ServiceConfigActivity"</string>
@@ -18,7 +18,7 @@
     <string name="service_release_time" msgid="532937496122890892">"Durata până la lansarea serviciului după apel"</string>
     <string name="request_app_type" msgid="3975978141673475612">"Tipul aplicației UICC"</string>
     <string name="request_naf_url" msgid="4487793541217737042">"Adresa URL pentru funcția aplicației pentru rețea (NAF)"</string>
-    <string name="request_force_bootstrapping" msgid="206043602616214325">"Forțați inițializarea?"</string>
+    <string name="request_force_bootstrapping" msgid="206043602616214325">"Forțezi inițializarea?"</string>
     <string name="request_org" msgid="8416693445448308975">"Cod organizațional"</string>
     <string name="request_security_protocol" msgid="1444164827561010482">"ID-ul protocolului de securitate pentru Google Analytics universal"</string>
     <string name="request_tls_cipher_suite" msgid="6659854717595308404">"ID-ul suitei TLS Cipher"</string>
diff --git a/testapps/GbaTestApp/res/values-te/strings.xml b/testapps/GbaTestApp/res/values-te/strings.xml
index 72bd28b..28b0489 100644
--- a/testapps/GbaTestApp/res/values-te/strings.xml
+++ b/testapps/GbaTestApp/res/values-te/strings.xml
@@ -7,7 +7,7 @@
     <string name="label_service" msgid="2668963955237345578">"సర్వీస్ కాన్ఫిగరేషన్"</string>
     <string name="label_test" msgid="8425079572898571918">"పరీక్ష కాన్ఫిగరేషన్"</string>
     <string name="button_name_running" msgid="4557363091224858010">"రన్ అవుతోంది"</string>
-    <string name="button_name_exit" msgid="8025683733431538975">"నిష్క్రమించు"</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_done" msgid="6030406534322497491">"పూర్తయింది"</string>
diff --git a/testapps/ImsTestService/Android.bp b/testapps/ImsTestService/Android.bp
index 7073749..a0bebce 100644
--- a/testapps/ImsTestService/Android.bp
+++ b/testapps/ImsTestService/Android.bp
@@ -1,10 +1,6 @@
 package {
     // See: http://go/android-license-faq
-    // A large-scale-change added 'default_applicable_licenses' to import
-    // all of the 'license_kinds' from "packages_services_Telephony_license"
-    // to get the below license kinds:
-    //   SPDX-license-identifier-Apache-2.0
-    default_applicable_licenses: ["packages_services_Telephony_license"],
+    default_applicable_licenses: ["Android-Apache-2.0"],
 }
 
 android_app {
diff --git a/testapps/SmsManagerTestApp/Android.bp b/testapps/SmsManagerTestApp/Android.bp
index 4d4afcb..52fea61 100644
--- a/testapps/SmsManagerTestApp/Android.bp
+++ b/testapps/SmsManagerTestApp/Android.bp
@@ -1,10 +1,6 @@
 package {
     // See: http://go/android-license-faq
-    // A large-scale-change added 'default_applicable_licenses' to import
-    // all of the 'license_kinds' from "packages_services_Telephony_license"
-    // to get the below license kinds:
-    //   SPDX-license-identifier-Apache-2.0
-    default_applicable_licenses: ["packages_services_Telephony_license"],
+    default_applicable_licenses: ["Android-Apache-2.0"],
 }
 
 android_app {
diff --git a/testapps/TelephonyManagerTestApp/Android.bp b/testapps/TelephonyManagerTestApp/Android.bp
index e95d62f..0ff917e 100644
--- a/testapps/TelephonyManagerTestApp/Android.bp
+++ b/testapps/TelephonyManagerTestApp/Android.bp
@@ -1,10 +1,6 @@
 package {
     // See: http://go/android-license-faq
-    // A large-scale-change added 'default_applicable_licenses' to import
-    // all of the 'license_kinds' from "packages_services_Telephony_license"
-    // to get the below license kinds:
-    //   SPDX-license-identifier-Apache-2.0
-    default_applicable_licenses: ["packages_services_Telephony_license"],
+    default_applicable_licenses: ["Android-Apache-2.0"],
 }
 
 android_test {
diff --git a/testapps/TelephonyRegistryTestApp/Android.bp b/testapps/TelephonyRegistryTestApp/Android.bp
index 2439461..991e85c 100644
--- a/testapps/TelephonyRegistryTestApp/Android.bp
+++ b/testapps/TelephonyRegistryTestApp/Android.bp
@@ -1,10 +1,6 @@
 package {
     // See: http://go/android-license-faq
-    // A large-scale-change added 'default_applicable_licenses' to import
-    // all of the 'license_kinds' from "packages_services_Telephony_license"
-    // to get the below license kinds:
-    //   SPDX-license-identifier-Apache-2.0
-    default_applicable_licenses: ["packages_services_Telephony_license"],
+    default_applicable_licenses: ["Android-Apache-2.0"],
 }
 
 android_test {
diff --git a/testapps/TestRcsApp/TestApp/Android.bp b/testapps/TestRcsApp/TestApp/Android.bp
index cda7d17..40254af 100644
--- a/testapps/TestRcsApp/TestApp/Android.bp
+++ b/testapps/TestRcsApp/TestApp/Android.bp
@@ -1,10 +1,6 @@
 package {
     // See: http://go/android-license-faq
-    // A large-scale-change added 'default_applicable_licenses' to import
-    // all of the 'license_kinds' from "packages_services_Telephony_license"
-    // to get the below license kinds:
-    //   SPDX-license-identifier-Apache-2.0
-    default_applicable_licenses: ["packages_services_Telephony_license"],
+    default_applicable_licenses: ["Android-Apache-2.0"],
 }
 
 android_app {
diff --git a/testapps/TestRcsApp/aosp_test_rcsclient/Android.bp b/testapps/TestRcsApp/aosp_test_rcsclient/Android.bp
index 215c692..34b0a12 100644
--- a/testapps/TestRcsApp/aosp_test_rcsclient/Android.bp
+++ b/testapps/TestRcsApp/aosp_test_rcsclient/Android.bp
@@ -1,22 +1,6 @@
-
-
 package {
-    default_applicable_licenses: [
-        "packages_services_Telephony_testapps_TestRcsApp_aosp_test_rcsclient_license",
-    ],
-}
-
-// Added automatically by a large-scale-change
-// See: http://go/android-license-faq
-license {
-    name: "packages_services_Telephony_testapps_TestRcsApp_aosp_test_rcsclient_license",
-    visibility: [":__subpackages__"],
-    license_kinds: [
-        "SPDX-license-identifier-Apache-2.0",
-    ],
-    license_text: [
-        "LICENSE",
-    ],
+    // See: http://go/android-license-faq
+    default_applicable_licenses: ["Android-Apache-2.0"],
 }
 
 android_library {
diff --git a/testapps/TestRcsApp/aosp_test_rcsclient/LICENSE b/testapps/TestRcsApp/aosp_test_rcsclient/LICENSE
deleted file mode 100644
index b9b9d2a..0000000
--- a/testapps/TestRcsApp/aosp_test_rcsclient/LICENSE
+++ /dev/null
@@ -1,176 +0,0 @@
-Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
\ No newline at end of file
diff --git a/testapps/TestRcsApp/aosp_test_rcsclient/src/com/android/libraries/rcs/simpleclient/protocol/sip/SipUtils.java b/testapps/TestRcsApp/aosp_test_rcsclient/src/com/android/libraries/rcs/simpleclient/protocol/sip/SipUtils.java
index 13fa53a..942588a 100644
--- a/testapps/TestRcsApp/aosp_test_rcsclient/src/com/android/libraries/rcs/simpleclient/protocol/sip/SipUtils.java
+++ b/testapps/TestRcsApp/aosp_test_rcsclient/src/com/android/libraries/rcs/simpleclient/protocol/sip/SipUtils.java
@@ -183,8 +183,8 @@
         // Set a Security-Verify header if exist.
         String securityVerify = configuration.getSecurityVerifyHeader();
         if (!TextUtils.isEmpty(securityVerify)) {
-            request.setHeader(
-                    sHeaderFactory.createHeader(SecurityVerifyHeader.NAME, securityVerify));
+            request.setHeaders(sHeaderFactory.createHeaders(SecurityVerifyHeader.NAME
+                    + ":" + securityVerify.trim()));
         }
 
         // Add Route headers.
diff --git a/testapps/TestSliceApp/.gitignore b/testapps/TestSliceApp/.gitignore
new file mode 100644
index 0000000..aa724b7
--- /dev/null
+++ b/testapps/TestSliceApp/.gitignore
@@ -0,0 +1,15 @@
+*.iml
+.gradle
+/local.properties
+/.idea/caches
+/.idea/libraries
+/.idea/modules.xml
+/.idea/workspace.xml
+/.idea/navEditor.xml
+/.idea/assetWizardSettings.xml
+.DS_Store
+/build
+/captures
+.externalNativeBuild
+.cxx
+local.properties
diff --git a/testapps/TestSliceApp/.idea/.gitignore b/testapps/TestSliceApp/.idea/.gitignore
new file mode 100644
index 0000000..26d3352
--- /dev/null
+++ b/testapps/TestSliceApp/.idea/.gitignore
@@ -0,0 +1,3 @@
+# Default ignored files
+/shelf/
+/workspace.xml
diff --git a/testapps/TestSliceApp/.idea/compiler.xml b/testapps/TestSliceApp/.idea/compiler.xml
new file mode 100644
index 0000000..fb7f4a8
--- /dev/null
+++ b/testapps/TestSliceApp/.idea/compiler.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="CompilerConfiguration">
+    <bytecodeTargetLevel target="11" />
+  </component>
+</project>
\ No newline at end of file
diff --git a/testapps/TestSliceApp/.idea/gradle.xml b/testapps/TestSliceApp/.idea/gradle.xml
new file mode 100644
index 0000000..526b4c2
--- /dev/null
+++ b/testapps/TestSliceApp/.idea/gradle.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="GradleMigrationSettings" migrationVersion="1" />
+  <component name="GradleSettings">
+    <option name="linkedExternalProjectsSettings">
+      <GradleProjectSettings>
+        <option name="testRunner" value="GRADLE" />
+        <option name="distributionType" value="DEFAULT_WRAPPED" />
+        <option name="externalProjectPath" value="$PROJECT_DIR$" />
+        <option name="modules">
+          <set>
+            <option value="$PROJECT_DIR$" />
+            <option value="$PROJECT_DIR$/app" />
+          </set>
+        </option>
+        <option name="resolveModulePerSourceSet" value="false" />
+      </GradleProjectSettings>
+    </option>
+  </component>
+</project>
\ No newline at end of file
diff --git a/testapps/TestSliceApp/.idea/misc.xml b/testapps/TestSliceApp/.idea/misc.xml
new file mode 100644
index 0000000..a329266
--- /dev/null
+++ b/testapps/TestSliceApp/.idea/misc.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="DesignSurface">
+    <option name="filePathToZoomLevelMap">
+      <map>
+        <entry key="app/src/main/res/drawable/ic_launcher_background.xml" value="0.38177083333333334" />
+        <entry key="app/src/main/res/layout/_copy.xml" value="0.365625" />
+        <entry key="app/src/main/res/layout/activity_main.xml" value="0.4891304347826087" />
+        <entry key="app/src/main/res/layout/copy.xml" value="0.37135416666666665" />
+        <entry key="app/src/main/res/layout/fragment_c_b_s.xml" value="0.473731884057971" />
+        <entry key="app/src/main/res/layout/fragment_c_b_s_copy.xml" value="0.365625" />
+        <entry key="app/src/main/res/layout/fragment_main.xml" value="0.46693840579710144" />
+        <entry key="app/src/main/res/layout/fragment_prioritize_bandwidth.xml" value="0.473731884057971" />
+        <entry key="app/src/main/res/layout/fragment_prioritize_bandwidth2.xml" value="0.365625" />
+        <entry key="app/src/main/res/layout/fragment_prioritize_latency.xml" value="0.473731884057971" />
+        <entry key="app/src/main/res/layout/fragment_prioritize_latency2.xml" value="0.365625" />
+      </map>
+    </option>
+  </component>
+  <component name="NullableNotNullManager">
+    <option name="myDefaultNullable" value="androidx.annotation.Nullable" />
+    <option name="myDefaultNotNull" value="androidx.annotation.NonNull" />
+    <option name="myNullables">
+      <value>
+        <list size="17">
+          <item index="0" class="java.lang.String" itemvalue="org.jetbrains.annotations.Nullable" />
+          <item index="1" class="java.lang.String" itemvalue="edu.umd.cs.findbugs.annotations.Nullable" />
+          <item index="2" class="java.lang.String" itemvalue="android.support.annotation.Nullable" />
+          <item index="3" class="java.lang.String" itemvalue="androidx.annotation.Nullable" />
+          <item index="4" class="java.lang.String" itemvalue="androidx.annotation.RecentlyNullable" />
+          <item index="5" class="java.lang.String" itemvalue="com.android.annotations.Nullable" />
+          <item index="6" class="java.lang.String" itemvalue="javax.annotation.Nullable" />
+          <item index="7" class="java.lang.String" itemvalue="javax.annotation.CheckForNull" />
+          <item index="8" class="java.lang.String" itemvalue="org.checkerframework.checker.nullness.qual.Nullable" />
+          <item index="9" class="java.lang.String" itemvalue="org.checkerframework.checker.nullness.compatqual.NullableDecl" />
+          <item index="10" class="java.lang.String" itemvalue="org.checkerframework.checker.nullness.compatqual.NullableType" />
+          <item index="11" class="java.lang.String" itemvalue="org.eclipse.jdt.annotation.Nullable" />
+          <item index="12" class="java.lang.String" itemvalue="io.reactivex.annotations.Nullable" />
+          <item index="13" class="java.lang.String" itemvalue="io.reactivex.rxjava3.annotations.Nullable" />
+          <item index="14" class="java.lang.String" itemvalue="org.checkerframework.checker.nullness.compatqual.NullableDecl" />
+          <item index="15" class="java.lang.String" itemvalue="org.checkerframework.checker.nullness.compatqual.NullableType" />
+          <item index="16" class="java.lang.String" itemvalue="org.checkerframework.checker.nullness.qual.Nullable" />
+        </list>
+      </value>
+    </option>
+    <option name="myNotNulls">
+      <value>
+        <list size="17">
+          <item index="0" class="java.lang.String" itemvalue="org.jetbrains.annotations.NotNull" />
+          <item index="1" class="java.lang.String" itemvalue="edu.umd.cs.findbugs.annotations.NonNull" />
+          <item index="2" class="java.lang.String" itemvalue="android.support.annotation.NonNull" />
+          <item index="3" class="java.lang.String" itemvalue="androidx.annotation.NonNull" />
+          <item index="4" class="java.lang.String" itemvalue="androidx.annotation.RecentlyNonNull" />
+          <item index="5" class="java.lang.String" itemvalue="com.android.annotations.NonNull" />
+          <item index="6" class="java.lang.String" itemvalue="javax.annotation.Nonnull" />
+          <item index="7" class="java.lang.String" itemvalue="org.checkerframework.checker.nullness.qual.NonNull" />
+          <item index="8" class="java.lang.String" itemvalue="org.checkerframework.checker.nullness.compatqual.NonNullDecl" />
+          <item index="9" class="java.lang.String" itemvalue="org.checkerframework.checker.nullness.compatqual.NonNullType" />
+          <item index="10" class="java.lang.String" itemvalue="org.eclipse.jdt.annotation.NonNull" />
+          <item index="11" class="java.lang.String" itemvalue="io.reactivex.annotations.NonNull" />
+          <item index="12" class="java.lang.String" itemvalue="io.reactivex.rxjava3.annotations.NonNull" />
+          <item index="13" class="java.lang.String" itemvalue="lombok.NonNull" />
+          <item index="14" class="java.lang.String" itemvalue="org.checkerframework.checker.nullness.compatqual.NonNullDecl" />
+          <item index="15" class="java.lang.String" itemvalue="org.checkerframework.checker.nullness.compatqual.NonNullType" />
+          <item index="16" class="java.lang.String" itemvalue="org.checkerframework.checker.nullness.qual.NonNull" />
+        </list>
+      </value>
+    </option>
+  </component>
+  <component name="ProjectRootManager" version="2" languageLevel="JDK_11" default="true" project-jdk-name="JDK" project-jdk-type="JavaSDK">
+    <output url="file://$PROJECT_DIR$/build/classes" />
+  </component>
+  <component name="ProjectType">
+    <option name="id" value="Android" />
+  </component>
+</project>
\ No newline at end of file
diff --git a/testapps/TestSliceApp/.idea/vcs.xml b/testapps/TestSliceApp/.idea/vcs.xml
new file mode 100644
index 0000000..498ba99
--- /dev/null
+++ b/testapps/TestSliceApp/.idea/vcs.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="IssueNavigationConfiguration">
+    <option name="links">
+      <list>
+        <IssueNavigationLink>
+          <option name="issueRegexp" value="\bb/(\d+)(#\w+)?\b" />
+          <option name="linkRegexp" value="https://buganizer.corp.google.com/issues/$1$2" />
+        </IssueNavigationLink>
+        <IssueNavigationLink>
+          <option name="issueRegexp" value="\b(?:BUG=|FIXED=)(\d+)\b" />
+          <option name="linkRegexp" value="https://buganizer.corp.google.com/issues/$1" />
+        </IssueNavigationLink>
+        <IssueNavigationLink>
+          <option name="issueRegexp" value="\b(?:cl/|cr/|OCL=|DIFFBASE=|ROLLBACK_OF=)(\d+)\b" />
+          <option name="linkRegexp" value="https://critique.corp.google.com/$1" />
+        </IssueNavigationLink>
+        <IssueNavigationLink>
+          <option name="issueRegexp" value="\bomg/(\d+)\b" />
+          <option name="linkRegexp" value="https://omg.corp.google.com/$1" />
+        </IssueNavigationLink>
+        <IssueNavigationLink>
+          <option name="issueRegexp" value="\b(?:go/|goto/)([^,.&lt;&gt;()&quot;\s]+(?:[.,][^,.&lt;&gt;()&quot;\s]+)*)" />
+          <option name="linkRegexp" value="https://goto.google.com/$1" />
+        </IssueNavigationLink>
+        <IssueNavigationLink>
+          <option name="issueRegexp" value="\bcs/([^\s]+[\w$])" />
+          <option name="linkRegexp" value="https://cs.corp.google.com/search/?q=$1" />
+        </IssueNavigationLink>
+        <IssueNavigationLink>
+          <option name="issueRegexp" value="(LINT\.IfChange)|(LINT\.ThenChange)" />
+          <option name="linkRegexp" value="https://goto.google.com/ifthisthenthatlint" />
+        </IssueNavigationLink>
+      </list>
+    </option>
+  </component>
+  <component name="VcsDirectoryMappings">
+    <mapping directory="$PROJECT_DIR$/../.." vcs="Git" />
+  </component>
+</project>
\ No newline at end of file
diff --git a/testapps/TestSliceApp/app/.gitignore b/testapps/TestSliceApp/app/.gitignore
new file mode 100644
index 0000000..42afabf
--- /dev/null
+++ b/testapps/TestSliceApp/app/.gitignore
@@ -0,0 +1 @@
+/build
\ No newline at end of file
diff --git a/testapps/TestSliceApp/app/build.gradle b/testapps/TestSliceApp/app/build.gradle
new file mode 100644
index 0000000..2b20187
--- /dev/null
+++ b/testapps/TestSliceApp/app/build.gradle
@@ -0,0 +1,40 @@
+plugins {
+    id 'com.android.application'
+}
+
+android {
+    compileSdkPreview "android-Tiramisu"
+
+    defaultConfig {
+        applicationId "com.google.android.sample.testsliceapp"
+        minSdkPreview "Tiramisu"
+        targetSdkPreview "Tiramisu"
+        versionCode 1
+        versionName "1.0"
+
+        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
+    }
+
+    buildTypes {
+        release {
+            minifyEnabled false
+            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
+        }
+    }
+    compileOptions {
+        sourceCompatibility JavaVersion.VERSION_1_8
+        targetCompatibility JavaVersion.VERSION_1_8
+    }
+}
+
+dependencies {
+
+    implementation 'androidx.appcompat:appcompat:1.4.1'
+    implementation 'com.google.android.material:material:1.5.0'
+    implementation 'androidx.constraintlayout:constraintlayout:2.1.3'
+    implementation 'androidx.legacy:legacy-support-v4:1.0.0'
+    testImplementation 'junit:junit:4.+'
+    androidTestImplementation 'androidx.test.ext:junit:1.1.3'
+    androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
+    implementation 'com.squareup.okhttp3:okhttp:3.10.0'
+}
\ No newline at end of file
diff --git a/testapps/TestSliceApp/app/proguard-rules.pro b/testapps/TestSliceApp/app/proguard-rules.pro
new file mode 100644
index 0000000..481bb43
--- /dev/null
+++ b/testapps/TestSliceApp/app/proguard-rules.pro
@@ -0,0 +1,21 @@
+# Add project specific ProGuard rules here.
+# You can control the set of applied configuration files using the
+# proguardFiles setting in build.gradle.
+#
+# For more details, see
+#   http://developer.android.com/guide/developing/tools/proguard.html
+
+# If your project uses WebView with JS, uncomment the following
+# and specify the fully qualified class name to the JavaScript interface
+# class:
+#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
+#   public *;
+#}
+
+# Uncomment this to preserve the line number information for
+# debugging stack traces.
+#-keepattributes SourceFile,LineNumberTable
+
+# If you keep the line number information, uncomment this to
+# hide the original source file name.
+#-renamesourcefileattribute SourceFile
\ No newline at end of file
diff --git a/testapps/TestSliceApp/app/src/androidTest/java/com/google/android/sample/testsliceapp/ExampleInstrumentedTest.java b/testapps/TestSliceApp/app/src/androidTest/java/com/google/android/sample/testsliceapp/ExampleInstrumentedTest.java
new file mode 100644
index 0000000..7732215
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/androidTest/java/com/google/android/sample/testsliceapp/ExampleInstrumentedTest.java
@@ -0,0 +1,41 @@
+/*
+ * Copyright (C) 2022 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.google.android.sample.testsliceapp;
+
+import static org.junit.Assert.*;
+
+import android.content.Context;
+
+import androidx.test.ext.junit.runners.AndroidJUnit4;
+import androidx.test.platform.app.InstrumentationRegistry;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+/**
+ * Instrumented test, which will execute on an Android device.
+ *
+ * @see <a href="http://d.android.com/tools/testing">Testing documentation</a>
+ */
+@RunWith(AndroidJUnit4.class)
+public class ExampleInstrumentedTest {
+    @Test
+    public void useAppContext() {
+        // Context of the app under test.
+        Context appContext = InstrumentationRegistry.getInstrumentation().getTargetContext();
+        assertEquals("com.google.android.sample.testsliceapp", appContext.getPackageName());
+    }
+}
diff --git a/testapps/TestSliceApp/app/src/main/Android.bp b/testapps/TestSliceApp/app/src/main/Android.bp
new file mode 100644
index 0000000..b02d5ff
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/Android.bp
@@ -0,0 +1,24 @@
+package {
+    // See: http://go/android-license-faq
+    default_applicable_licenses: ["Android-Apache-2.0"],
+}
+
+android_app {
+    name: "TestSliceApp",
+    srcs: [
+        "java/com/google/android/sample/testsliceapp/*.java",
+    ],
+    static_libs: [
+        "androidx-constraintlayout_constraintlayout",
+        "androidx.appcompat_appcompat",
+    ],
+    libs: ["org.apache.http.legacy"],
+    certificate: "platform",
+    privileged: true,
+    product_specific: true,
+    sdk_version: "system_current",
+    min_sdk_version: "30",
+    optimize: {
+        proguard_flags_files: ["proguard.flags"],
+    },
+}
diff --git a/testapps/TestSliceApp/app/src/main/AndroidManifest.xml b/testapps/TestSliceApp/app/src/main/AndroidManifest.xml
new file mode 100644
index 0000000..d28bbb0
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/AndroidManifest.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="utf-8"?>
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+    package="com.google.android.sample.testsliceapp">
+
+  <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
+  <application
+      android:allowBackup="true"
+      android:icon="@mipmap/ic_launcher"
+      android:label="@string/app_name"
+      android:roundIcon="@mipmap/ic_launcher_round"
+      android:supportsRtl="true"
+      android:theme="@style/Theme.AppCompat"
+      android:versionCode="34">
+    <activity
+        android:name=".MainActivity"
+        android:exported="true">
+      <intent-filter>
+        <action android:name="android.intent.action.MAIN" />
+        <category android:name="android.intent.category.LAUNCHER" />
+      </intent-filter>
+    </activity>
+    <service android:name=".TestCarrierService"
+        android:permission="android.permission.BIND_CARRIER_SERVICES"
+        android:exported="true">
+      <intent-filter>
+        <action android:name="android.service.carrier.CarrierService" />
+      </intent-filter>
+      <meta-data android:name="android.service.carrier.LONG_LIVED_BINDING"
+          android:value="true" />
+    </service>
+  </application>
+</manifest>
\ No newline at end of file
diff --git a/testapps/TestSliceApp/app/src/main/java/com/google/android/sample/testsliceapp/CBS.java b/testapps/TestSliceApp/app/src/main/java/com/google/android/sample/testsliceapp/CBS.java
new file mode 100644
index 0000000..a555ce6
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/java/com/google/android/sample/testsliceapp/CBS.java
@@ -0,0 +1,117 @@
+/*
+ * Copyright (C) 2022 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.google.android.sample.testsliceapp;
+
+import android.net.ConnectivityManager;
+import android.net.ConnectivityManager.NetworkCallback;
+import android.net.Network;
+import android.net.NetworkCapabilities;
+import android.net.NetworkRequest;
+import android.os.Bundle;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.View.OnClickListener;
+import android.view.ViewGroup;
+import android.widget.Button;
+
+import androidx.fragment.app.Fragment;
+
+/**
+ * A simple {@link Fragment} subclass. Use the {@link CBS#newInstance} factory method to create an
+ * instance of this fragment.
+ */
+public class CBS extends Fragment {
+    Button mRelease, mRequest, mPing;
+    Network mNetwork;
+    ConnectivityManager mConnectivityManager;
+    NetworkCallback mProfileCheckNetworkCallback;
+
+    public CBS() {
+        // Required empty public constructor
+    }
+
+    /**
+     * Use this factory method to create a new instance of this fragment using the provided
+     * parameters.
+     *
+     * @param param1 Parameter 1.
+     * @param param2 Parameter 2.
+     * @return A new instance of fragment CBS.
+     */
+    // TODO: Rename and change types and number of parameters
+    public static CBS newInstance(String param1, String param2) {
+        CBS fragment = new CBS();
+        Bundle args = new Bundle();
+        fragment.setArguments(args);
+        return fragment;
+    }
+
+    @Override
+    public void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+    }
+
+    @Override
+    public View onCreateView(LayoutInflater inflater, ViewGroup container,
+            Bundle savedInstanceState) {
+        // Inflate the layout for this fragment
+        View view = inflater.inflate(R.layout.fragment_c_b_s, container, false);
+        mProfileCheckNetworkCallback =
+                new NetworkCallback() {
+            @Override
+            public void onAvailable(final Network network) {
+                mNetwork = network;
+            }
+        };
+        mRelease = view.findViewById(R.id.releasecbs);
+        mRelease.setOnClickListener(new OnClickListener() {
+            @Override
+            public void onClick(View view) {
+                mConnectivityManager.unregisterNetworkCallback(
+                        mProfileCheckNetworkCallback);
+            }
+        });
+        mRequest = view.findViewById(R.id.requestcbs);
+        mRequest.setOnClickListener(new OnClickListener() {
+            @Override
+            public void onClick(View view) {
+                NetworkCallback mProfileCheckNetworkCallback = new NetworkCallback() {
+                    @Override
+                    public void onAvailable(final Network network) {
+                        mNetwork = network;
+                    }
+                };
+                NetworkRequest.Builder builder = new NetworkRequest.Builder();
+                builder.addCapability(NetworkCapabilities.NET_CAPABILITY_CBS);
+                mConnectivityManager.requestNetwork(builder.build(), mProfileCheckNetworkCallback);
+            }
+        });
+        mPing = view.findViewById(R.id.pingcbs);
+        mPing.setOnClickListener(new OnClickListener() {
+            @Override
+            public void onClick(View view) {
+                if (mNetwork != null) {
+                    //mNetwork.
+                    try {
+                        new RequestTask().ping(mNetwork);
+                    } catch (Exception e) {
+                    }
+                }
+            }
+        });
+        return view;
+    }
+}
diff --git a/testapps/TestSliceApp/app/src/main/java/com/google/android/sample/testsliceapp/MainActivity.java b/testapps/TestSliceApp/app/src/main/java/com/google/android/sample/testsliceapp/MainActivity.java
new file mode 100644
index 0000000..ef4d0ec
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/java/com/google/android/sample/testsliceapp/MainActivity.java
@@ -0,0 +1,47 @@
+/*
+ * Copyright (C) 2022 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.google.android.sample.testsliceapp;
+
+import android.os.Bundle;
+import android.util.Log;
+
+import androidx.appcompat.app.AppCompatActivity;
+
+/**
+ * Main activity for slice test app.
+ **/
+public class MainActivity extends AppCompatActivity {
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        setContentView(R.layout.activity_main);
+    }
+
+    /**
+     * Override the back press event handler.
+     */
+    @Override
+    public void onBackPressed() {
+        int count = getSupportFragmentManager().getBackStackEntryCount();
+        Log.d("MainActivity", "onBackPressed " + count);
+        if (count == 0) {
+            super.onBackPressed();
+            //additional code
+        } else {
+            getSupportFragmentManager().popBackStack();
+        }
+    }
+}
diff --git a/testapps/TestSliceApp/app/src/main/java/com/google/android/sample/testsliceapp/MainFragment.java b/testapps/TestSliceApp/app/src/main/java/com/google/android/sample/testsliceapp/MainFragment.java
new file mode 100644
index 0000000..97b3393
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/java/com/google/android/sample/testsliceapp/MainFragment.java
@@ -0,0 +1,100 @@
+/*
+ * Copyright (C) 2022 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.google.android.sample.testsliceapp;
+
+import android.os.Bundle;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.View.OnClickListener;
+import android.view.ViewGroup;
+import android.widget.Button;
+
+import androidx.fragment.app.Fragment;
+import androidx.fragment.app.FragmentManager;
+import androidx.fragment.app.FragmentTransaction;
+
+/**
+ * A simple {@link Fragment} subclass. Use the {@link MainFragment#newInstance} factory method to
+ * create an instance of this fragment.
+ */
+public class MainFragment extends Fragment {
+    Button mBW, mLatency, mCBS;
+    public MainFragment() {
+      // Required empty public constructor
+    }
+
+    /**
+     * Use this factory method to create a new instance of this fragment using the provided
+     * parameters.
+     *
+     * @param param1 Parameter 1.
+     * @param param2 Parameter 2.
+     * @return A new instance of fragment MainFragment.
+     */
+    public static MainFragment newInstance(String param1, String param2) {
+        MainFragment fragment = new MainFragment();
+        Bundle args = new Bundle();
+        fragment.setArguments(args);
+        return fragment;
+    }
+
+    @Override
+    public void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+    }
+
+    @Override
+    public View onCreateView(LayoutInflater inflater, ViewGroup container,
+            Bundle savedInstanceState) {
+        // Inflate the layout for this fragment
+        View view = inflater.inflate(R.layout.fragment_main, container, false);
+        mBW = view.findViewById(R.id.bw);
+        mBW.setOnClickListener(new OnClickListener() {
+            @Override
+            public void onClick(View view) {
+                replaceFragment(new PrioritizeBandwidth());
+            }
+        });
+        mLatency = view.findViewById(R.id.latency);
+        mLatency.setOnClickListener(new OnClickListener() {
+            @Override
+            public void onClick(View view) {
+                replaceFragment(new PrioritizeLatency());
+            }
+        });
+        mCBS = view.findViewById(R.id.cbs);
+        mCBS.setOnClickListener(new OnClickListener() {
+            @Override
+            public void onClick(View view) {
+                replaceFragment(new CBS());
+            }
+        });
+        return view;
+    }
+
+    private void replaceFragment(Fragment fragment) {
+        FragmentManager fragmentManager = getParentFragmentManager();
+        FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
+        try {
+            getParentFragmentManager().popBackStackImmediate(fragment.toString(),
+                      FragmentManager.POP_BACK_STACK_INCLUSIVE);
+        } catch (java.lang.IllegalStateException e) {
+
+        }
+        fragmentTransaction.replace(R.id.frameLayoutMainFrag, fragment);
+        fragmentTransaction.commit();
+    }
+}
diff --git a/testapps/TestSliceApp/app/src/main/java/com/google/android/sample/testsliceapp/PrioritizeBandwidth.java b/testapps/TestSliceApp/app/src/main/java/com/google/android/sample/testsliceapp/PrioritizeBandwidth.java
new file mode 100644
index 0000000..d997178
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/java/com/google/android/sample/testsliceapp/PrioritizeBandwidth.java
@@ -0,0 +1,117 @@
+/*
+ * Copyright (C) 2022 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.google.android.sample.testsliceapp;
+
+import android.net.ConnectivityManager;
+import android.net.ConnectivityManager.NetworkCallback;
+import android.net.Network;
+import android.net.NetworkCapabilities;
+import android.net.NetworkRequest;
+import android.os.Bundle;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.View.OnClickListener;
+import android.view.ViewGroup;
+import android.widget.Button;
+
+import androidx.fragment.app.Fragment;
+
+/**
+ * A simple {@link Fragment} subclass. Use the {@link PrioritizeBandwidth#newInstance} factory
+ * method to create an instance of this fragment.
+ */
+public class PrioritizeBandwidth extends Fragment {
+
+    Button mRelease, mRequest, mPing;
+    Network mNetwork;
+    ConnectivityManager mConnectivityManager;
+    NetworkCallback mProfileCheckNetworkCallback;
+    public PrioritizeBandwidth() {
+      // Required empty public constructor
+    }
+
+    /**
+     * Use this factory method to create a new instance of this fragment using the provided
+     * parameters.
+     *
+     * @param param1 Parameter 1.
+     * @param param2 Parameter 2.
+     * @return A new instance of fragment PrioritizeBandwidth.
+     */
+    public static PrioritizeBandwidth newInstance(String param1, String param2) {
+        PrioritizeBandwidth fragment = new PrioritizeBandwidth();
+        Bundle args = new Bundle();
+        fragment.setArguments(args);
+        return fragment;
+    }
+
+    @Override
+    public void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        mConnectivityManager = getContext().getSystemService(ConnectivityManager.class);
+    }
+
+    @Override
+    public View onCreateView(LayoutInflater inflater, ViewGroup container,
+            Bundle savedInstanceState) {
+        // Inflate the layout for this fragment
+        View view = inflater.inflate(R.layout.fragment_prioritize_bandwidth, container, false);
+        mProfileCheckNetworkCallback =
+                new NetworkCallback() {
+            @Override
+            public void onAvailable(final Network network) {
+                mNetwork = network;
+            }
+        };
+        mRelease = view.findViewById(R.id.releasebw);
+        mRelease.setOnClickListener(new OnClickListener() {
+            @Override
+            public void onClick(View view) {
+                mConnectivityManager.unregisterNetworkCallback(mProfileCheckNetworkCallback);
+            }
+        });
+        mRequest = view.findViewById(R.id.requestbw);
+        mRequest.setOnClickListener(new OnClickListener() {
+            @Override
+            public void onClick(View view) {
+                NetworkCallback mProfileCheckNetworkCallback =
+                        new NetworkCallback() {
+                    @Override
+                    public void onAvailable(final Network network) {
+                        mNetwork = network;
+                    }
+                };
+                NetworkRequest.Builder builder = new NetworkRequest.Builder();
+                builder.addCapability(NetworkCapabilities.NET_CAPABILITY_PRIORITIZE_BANDWIDTH);
+                mConnectivityManager.requestNetwork(builder.build(), mProfileCheckNetworkCallback);
+            }
+        });
+        mPing = view.findViewById(R.id.pingbw);
+        mPing.setOnClickListener(new OnClickListener() {
+            @Override
+            public void onClick(View view) {
+                if (mNetwork != null) {
+                    //mNetwork.
+                    try {
+                        new RequestTask().ping(mNetwork);
+                    } catch (Exception e) {
+                    }
+                }
+            }
+        });
+        return view;
+    }
+}
diff --git a/testapps/TestSliceApp/app/src/main/java/com/google/android/sample/testsliceapp/PrioritizeLatency.java b/testapps/TestSliceApp/app/src/main/java/com/google/android/sample/testsliceapp/PrioritizeLatency.java
new file mode 100644
index 0000000..b45362c
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/java/com/google/android/sample/testsliceapp/PrioritizeLatency.java
@@ -0,0 +1,115 @@
+/*
+ * Copyright (C) 2022 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.google.android.sample.testsliceapp;
+
+import android.net.ConnectivityManager;
+import android.net.ConnectivityManager.NetworkCallback;
+import android.net.Network;
+import android.net.NetworkCapabilities;
+import android.net.NetworkRequest;
+import android.os.Bundle;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.View.OnClickListener;
+import android.view.ViewGroup;
+import android.widget.Button;
+
+import androidx.fragment.app.Fragment;
+
+/**
+ * A simple {@link Fragment} subclass. Use the {@link PrioritizeLatency#newInstance} factory method
+ * to create an instance of this fragment.
+ */
+public class PrioritizeLatency extends Fragment {
+    Button mRelease, mRequest, mPing;
+    Network mNetwork;
+    ConnectivityManager mConnectivityManager;
+    NetworkCallback mProfileCheckNetworkCallback;
+    public PrioritizeLatency() {
+      // Required empty public constructor
+    }
+
+    /**
+     * Use this factory method to create a new instance of this fragment using the provided
+     * parameters.
+     *
+     * @param param1 Parameter 1.
+     * @param param2 Parameter 2.
+     * @return A new instance of fragment PrioritizeLatency.
+     */
+    // TODO: Rename and change types and number of parameters
+    public static PrioritizeLatency newInstance(String param1, String param2) {
+        PrioritizeLatency fragment = new PrioritizeLatency();
+        Bundle args = new Bundle();
+        fragment.setArguments(args);
+        return fragment;
+    }
+
+    @Override
+    public void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+    }
+
+    @Override
+    public View onCreateView(LayoutInflater inflater, ViewGroup container,
+            Bundle savedInstanceState) {
+        // Inflate the layout for this fragment
+        View view = inflater.inflate(R.layout.fragment_prioritize_latency, container, false);
+        mProfileCheckNetworkCallback =
+                new NetworkCallback() {
+            @Override
+            public void onAvailable(final Network network) {
+                mNetwork = network;
+            }
+        };
+        mRelease = view.findViewById(R.id.releaselatency);
+        mRelease.setOnClickListener(new OnClickListener() {
+            @Override
+            public void onClick(View view) {
+                mConnectivityManager.unregisterNetworkCallback(mProfileCheckNetworkCallback);
+            }
+        });
+        mRequest = view.findViewById(R.id.requestlatency);
+        mRequest.setOnClickListener(new OnClickListener() {
+            @Override
+            public void onClick(View view) {
+                NetworkCallback mProfileCheckNetworkCallback = new NetworkCallback() {
+                    @Override
+                    public void onAvailable(final Network network) {
+                        mNetwork = network;
+                    }
+                };
+                NetworkRequest.Builder builder = new NetworkRequest.Builder();
+                builder.addCapability(NetworkCapabilities.NET_CAPABILITY_PRIORITIZE_LATENCY);
+                mConnectivityManager.requestNetwork(builder.build(), mProfileCheckNetworkCallback);
+            }
+        });
+        mPing = view.findViewById(R.id.pinglatency);
+        mPing.setOnClickListener(new OnClickListener() {
+            @Override
+            public void onClick(View view) {
+                if (mNetwork != null) {
+                    //mNetwork.
+                    try {
+                        new RequestTask().ping(mNetwork);
+                    } catch (Exception e) {
+                    }
+                }
+            }
+        });
+        return view;
+    }
+}
diff --git a/testapps/TestSliceApp/app/src/main/java/com/google/android/sample/testsliceapp/RequestTask.java b/testapps/TestSliceApp/app/src/main/java/com/google/android/sample/testsliceapp/RequestTask.java
new file mode 100644
index 0000000..b12939e
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/java/com/google/android/sample/testsliceapp/RequestTask.java
@@ -0,0 +1,55 @@
+/*
+ * Copyright (C) 2022 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.google.android.sample.testsliceapp;
+
+import android.net.Network;
+
+import java.io.BufferedInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.net.HttpURLConnection;
+import java.net.URL;
+
+class RequestTask{
+    String ping(Network network) {
+        URL url = null;
+        try {
+            url = new URL("http://www.google.com");
+        } catch (Exception e) {
+        }
+        if (url != null) {
+            try {
+                return httpGet(network, url);
+            } catch (Exception e) {
+            }
+        }
+        return "";
+    }
+
+    /**
+    * Performs a HTTP GET to the specified URL on the specified Network, and returns
+    * the response body decoded as UTF-8.
+    */
+    private static String httpGet(Network network, URL httpUrl) throws IOException {
+        HttpURLConnection connection = (HttpURLConnection) network.openConnection(httpUrl);
+        try {
+            InputStream inputStream = connection.getInputStream();
+            return new BufferedInputStream(inputStream).toString();
+        } finally {
+            connection.disconnect();
+        }
+    }
+}
diff --git a/testapps/TestSliceApp/app/src/main/java/com/google/android/sample/testsliceapp/TestCarrierService.java b/testapps/TestSliceApp/app/src/main/java/com/google/android/sample/testsliceapp/TestCarrierService.java
new file mode 100644
index 0000000..b1d019e
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/java/com/google/android/sample/testsliceapp/TestCarrierService.java
@@ -0,0 +1,42 @@
+/*
+ * Copyright (C) 2022 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.google.android.sample.testsliceapp;
+
+import android.content.Context;
+import android.os.PersistableBundle;
+import android.service.carrier.CarrierIdentifier;
+import android.service.carrier.CarrierService;
+import android.telephony.CarrierConfigManager;
+import android.telephony.SubscriptionManager;
+
+/**
+ * Carrier Service that sets the carrier config upon being bound by the system. Requires UICC
+ * privileges.
+ */
+public class TestCarrierService extends CarrierService {
+    @Override
+    public void onCreate() {
+        CarrierConfigManager cfgMgr =
+                (CarrierConfigManager) getSystemService(Context.CARRIER_CONFIG_SERVICE);
+        cfgMgr.notifyConfigChangedForSubId(SubscriptionManager.getDefaultSubscriptionId());
+    }
+
+    @Override
+    public PersistableBundle onLoadConfig(CarrierIdentifier carrierIdentifier) {
+        PersistableBundle config = new PersistableBundle();
+        return config;
+    }
+}
diff --git a/testapps/TestSliceApp/app/src/main/proguard.flags b/testapps/TestSliceApp/app/src/main/proguard.flags
new file mode 100644
index 0000000..1854804
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/proguard.flags
@@ -0,0 +1,4 @@
+-dontobfuscate
+-dontoptimize
+
+-keep class com.google.android.sample.testsliceapp.*
diff --git a/testapps/TestSliceApp/app/src/main/res/drawable-v24/ic_launcher_foreground.xml b/testapps/TestSliceApp/app/src/main/res/drawable-v24/ic_launcher_foreground.xml
new file mode 100644
index 0000000..966abaf
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/drawable-v24/ic_launcher_foreground.xml
@@ -0,0 +1,30 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:aapt="http://schemas.android.com/aapt"
+    android:width="108dp"
+    android:height="108dp"
+    android:viewportHeight="108"
+    android:viewportWidth="108">
+  <path android:pathData="M31,63.928c0,0 6.4,-11 12.1,-13.1c7.2,-2.6 26,-1.4 26,-1.4l38.1,38.1L107,108.928l-32,-1L31,63.928z">
+    <aapt:attr name="android:fillColor">
+      <gradient
+          android:endX="85.84757"
+          android:endY="92.4963"
+          android:startX="42.9492"
+          android:startY="49.59793"
+          android:type="linear">
+        <item
+            android:color="#44000000"
+            android:offset="0.0" />
+        <item
+            android:color="#00000000"
+            android:offset="1.0" />
+      </gradient>
+    </aapt:attr>
+  </path>
+  <path
+      android:fillColor="#FFFFFF"
+      android:fillType="nonZero"
+      android:pathData="M65.3,45.828l3.8,-6.6c0.2,-0.4 0.1,-0.9 -0.3,-1.1c-0.4,-0.2 -0.9,-0.1 -1.1,0.3l-3.9,6.7c-6.3,-2.8 -13.4,-2.8 -19.7,0l-3.9,-6.7c-0.2,-0.4 -0.7,-0.5 -1.1,-0.3C38.8,38.328 38.7,38.828 38.9,39.228l3.8,6.6C36.2,49.428 31.7,56.028 31,63.928h46C76.3,56.028 71.8,49.428 65.3,45.828zM43.4,57.328c-0.8,0 -1.5,-0.5 -1.8,-1.2c-0.3,-0.7 -0.1,-1.5 0.4,-2.1c0.5,-0.5 1.4,-0.7 2.1,-0.4c0.7,0.3 1.2,1 1.2,1.8C45.3,56.528 44.5,57.328 43.4,57.328L43.4,57.328zM64.6,57.328c-0.8,0 -1.5,-0.5 -1.8,-1.2s-0.1,-1.5 0.4,-2.1c0.5,-0.5 1.4,-0.7 2.1,-0.4c0.7,0.3 1.2,1 1.2,1.8C66.5,56.528 65.6,57.328 64.6,57.328L64.6,57.328z"
+      android:strokeColor="#00000000"
+      android:strokeWidth="1" />
+</vector>
\ No newline at end of file
diff --git a/testapps/TestSliceApp/app/src/main/res/drawable/ic_launcher_background.xml b/testapps/TestSliceApp/app/src/main/res/drawable/ic_launcher_background.xml
new file mode 100644
index 0000000..61bb79e
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/drawable/ic_launcher_background.xml
@@ -0,0 +1,170 @@
+<?xml version="1.0" encoding="utf-8"?>
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="108dp"
+    android:height="108dp"
+    android:viewportHeight="108"
+    android:viewportWidth="108">
+  <path
+      android:fillColor="#3DDC84"
+      android:pathData="M0,0h108v108h-108z" />
+  <path
+      android:fillColor="#00000000"
+      android:pathData="M9,0L9,108"
+      android:strokeColor="#33FFFFFF"
+      android:strokeWidth="0.8" />
+  <path
+      android:fillColor="#00000000"
+      android:pathData="M19,0L19,108"
+      android:strokeColor="#33FFFFFF"
+      android:strokeWidth="0.8" />
+  <path
+      android:fillColor="#00000000"
+      android:pathData="M29,0L29,108"
+      android:strokeColor="#33FFFFFF"
+      android:strokeWidth="0.8" />
+  <path
+      android:fillColor="#00000000"
+      android:pathData="M39,0L39,108"
+      android:strokeColor="#33FFFFFF"
+      android:strokeWidth="0.8" />
+  <path
+      android:fillColor="#00000000"
+      android:pathData="M49,0L49,108"
+      android:strokeColor="#33FFFFFF"
+      android:strokeWidth="0.8" />
+  <path
+      android:fillColor="#00000000"
+      android:pathData="M59,0L59,108"
+      android:strokeColor="#33FFFFFF"
+      android:strokeWidth="0.8" />
+  <path
+      android:fillColor="#00000000"
+      android:pathData="M69,0L69,108"
+      android:strokeColor="#33FFFFFF"
+      android:strokeWidth="0.8" />
+  <path
+      android:fillColor="#00000000"
+      android:pathData="M79,0L79,108"
+      android:strokeColor="#33FFFFFF"
+      android:strokeWidth="0.8" />
+  <path
+      android:fillColor="#00000000"
+      android:pathData="M89,0L89,108"
+      android:strokeColor="#33FFFFFF"
+      android:strokeWidth="0.8" />
+  <path
+      android:fillColor="#00000000"
+      android:pathData="M99,0L99,108"
+      android:strokeColor="#33FFFFFF"
+      android:strokeWidth="0.8" />
+  <path
+      android:fillColor="#00000000"
+      android:pathData="M0,9L108,9"
+      android:strokeColor="#33FFFFFF"
+      android:strokeWidth="0.8" />
+  <path
+      android:fillColor="#00000000"
+      android:pathData="M0,19L108,19"
+      android:strokeColor="#33FFFFFF"
+      android:strokeWidth="0.8" />
+  <path
+      android:fillColor="#00000000"
+      android:pathData="M0,29L108,29"
+      android:strokeColor="#33FFFFFF"
+      android:strokeWidth="0.8" />
+  <path
+      android:fillColor="#00000000"
+      android:pathData="M0,39L108,39"
+      android:strokeColor="#33FFFFFF"
+      android:strokeWidth="0.8" />
+  <path
+      android:fillColor="#00000000"
+      android:pathData="M0,49L108,49"
+      android:strokeColor="#33FFFFFF"
+      android:strokeWidth="0.8" />
+  <path
+      android:fillColor="#00000000"
+      android:pathData="M0,59L108,59"
+      android:strokeColor="#33FFFFFF"
+      android:strokeWidth="0.8" />
+  <path
+      android:fillColor="#00000000"
+      android:pathData="M0,69L108,69"
+      android:strokeColor="#33FFFFFF"
+      android:strokeWidth="0.8" />
+  <path
+      android:fillColor="#00000000"
+      android:pathData="M0,79L108,79"
+      android:strokeColor="#33FFFFFF"
+      android:strokeWidth="0.8" />
+  <path
+      android:fillColor="#00000000"
+      android:pathData="M0,89L108,89"
+      android:strokeColor="#33FFFFFF"
+      android:strokeWidth="0.8" />
+  <path
+      android:fillColor="#00000000"
+      android:pathData="M0,99L108,99"
+      android:strokeColor="#33FFFFFF"
+      android:strokeWidth="0.8" />
+  <path
+      android:fillColor="#00000000"
+      android:pathData="M19,29L89,29"
+      android:strokeColor="#33FFFFFF"
+      android:strokeWidth="0.8" />
+  <path
+      android:fillColor="#00000000"
+      android:pathData="M19,39L89,39"
+      android:strokeColor="#33FFFFFF"
+      android:strokeWidth="0.8" />
+  <path
+      android:fillColor="#00000000"
+      android:pathData="M19,49L89,49"
+      android:strokeColor="#33FFFFFF"
+      android:strokeWidth="0.8" />
+  <path
+      android:fillColor="#00000000"
+      android:pathData="M19,59L89,59"
+      android:strokeColor="#33FFFFFF"
+      android:strokeWidth="0.8" />
+  <path
+      android:fillColor="#00000000"
+      android:pathData="M19,69L89,69"
+      android:strokeColor="#33FFFFFF"
+      android:strokeWidth="0.8" />
+  <path
+      android:fillColor="#00000000"
+      android:pathData="M19,79L89,79"
+      android:strokeColor="#33FFFFFF"
+      android:strokeWidth="0.8" />
+  <path
+      android:fillColor="#00000000"
+      android:pathData="M29,19L29,89"
+      android:strokeColor="#33FFFFFF"
+      android:strokeWidth="0.8" />
+  <path
+      android:fillColor="#00000000"
+      android:pathData="M39,19L39,89"
+      android:strokeColor="#33FFFFFF"
+      android:strokeWidth="0.8" />
+  <path
+      android:fillColor="#00000000"
+      android:pathData="M49,19L49,89"
+      android:strokeColor="#33FFFFFF"
+      android:strokeWidth="0.8" />
+  <path
+      android:fillColor="#00000000"
+      android:pathData="M59,19L59,89"
+      android:strokeColor="#33FFFFFF"
+      android:strokeWidth="0.8" />
+  <path
+      android:fillColor="#00000000"
+      android:pathData="M69,19L69,89"
+      android:strokeColor="#33FFFFFF"
+      android:strokeWidth="0.8" />
+  <path
+      android:fillColor="#00000000"
+      android:pathData="M79,19L79,89"
+      android:strokeColor="#33FFFFFF"
+      android:strokeWidth="0.8" />
+</vector>
diff --git a/testapps/TestSliceApp/app/src/main/res/layout/activity_main.xml b/testapps/TestSliceApp/app/src/main/res/layout/activity_main.xml
new file mode 100644
index 0000000..a723e6f
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/layout/activity_main.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="utf-8"?>
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    tools:context=".MainActivity" >
+  <androidx.fragment.app.FragmentContainerView
+      xmlns:android="http://schemas.android.com/apk/res/android"
+      android:layout_width="match_parent"
+      android:layout_height="match_parent"
+      android:id="@+id/frameLayoutMainFrag"
+      android:name="com.google.android.sample.testsliceapp.MainFragment"/>
+</RelativeLayout>
\ No newline at end of file
diff --git a/testapps/TestSliceApp/app/src/main/res/layout/fragment_c_b_s.xml b/testapps/TestSliceApp/app/src/main/res/layout/fragment_c_b_s.xml
new file mode 100644
index 0000000..ac2ef9d
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/layout/fragment_c_b_s.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="utf-8"?>
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent">
+<FrameLayout
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:id="@+id/frameLayoutCBS">
+<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:id="@+id/frameLayout3"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    tools:context=".CBS">
+  <TextView
+      android:id="@+id/textView3"
+      android:layout_width="342dp"
+      android:layout_height="49dp"
+      android:text="CBS"
+      tools:layout_editor_absoluteX="19dp"
+      tools:layout_editor_absoluteY="7dp" />
+  <Button
+      android:id="@+id/requestcbs"
+      android:layout_width="186dp"
+      android:layout_height="57dp"
+      android:text="Request Network"
+      tools:layout_editor_absoluteX="120dp"
+      tools:layout_editor_absoluteY="154dp" />
+  <Button
+      android:id="@+id/releasecbs"
+      android:layout_width="187dp"
+      android:layout_height="61dp"
+      android:text="Release Network"
+      tools:layout_editor_absoluteX="119dp"
+      tools:layout_editor_absoluteY="273dp" />
+  <Button
+      android:id="@+id/pingcbs"
+      android:layout_width="186dp"
+      android:layout_height="55dp"
+      android:text="Ping"
+      tools:layout_editor_absoluteX="120dp"
+      tools:layout_editor_absoluteY="379dp" />
+</androidx.constraintlayout.widget.ConstraintLayout>
+</FrameLayout>
+</RelativeLayout>
\ No newline at end of file
diff --git a/testapps/TestSliceApp/app/src/main/res/layout/fragment_main.xml b/testapps/TestSliceApp/app/src/main/res/layout/fragment_main.xml
new file mode 100644
index 0000000..11e95a8
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/layout/fragment_main.xml
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="utf-8"?>
+<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    tools:context=".MainFragment">
+
+  <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
+      xmlns:app="http://schemas.android.com/apk/res-auto"
+      xmlns:tools="http://schemas.android.com/tools"
+      android:layout_width="match_parent"
+      android:layout_height="match_parent"
+      android:id="@+id/frameLayoutMain"
+      tools:context=".MainActivity">
+    <Button
+        android:id="@+id/cbs"
+        android:layout_width="222dp"
+        android:layout_height="51dp"
+        android:text="CBS"
+        app:layout_constraintBottom_toBottomOf="parent"
+        app:layout_constraintEnd_toEndOf="parent"
+        app:layout_constraintHorizontal_bias="0.493"
+        app:layout_constraintStart_toStartOf="parent"
+        app:layout_constraintTop_toTopOf="parent"
+        app:layout_constraintVertical_bias="0.751" />
+    <Button
+        android:id="@+id/latency"
+        android:layout_width="222dp"
+        android:layout_height="46dp"
+        android:text="PRIORITIZE LATENCY"
+        app:layout_constraintBottom_toTopOf="@+id/cbs"
+        app:layout_constraintEnd_toEndOf="parent"
+        app:layout_constraintHorizontal_bias="0.497"
+        app:layout_constraintStart_toStartOf="parent"
+        app:layout_constraintTop_toTopOf="parent"
+        app:layout_constraintVertical_bias="0.783" />
+    <Button
+        android:id="@+id/bw"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:text="PRIORITIZE BANDWIDTH"
+        app:layout_constraintBottom_toTopOf="@+id/latency"
+        app:layout_constraintEnd_toEndOf="parent"
+        app:layout_constraintHorizontal_bias="0.497"
+        app:layout_constraintStart_toStartOf="parent"
+        app:layout_constraintTop_toTopOf="parent"
+        app:layout_constraintVertical_bias="0.623" />
+  </androidx.constraintlayout.widget.ConstraintLayout>
+
+</FrameLayout>
\ No newline at end of file
diff --git a/testapps/TestSliceApp/app/src/main/res/layout/fragment_prioritize_bandwidth.xml b/testapps/TestSliceApp/app/src/main/res/layout/fragment_prioritize_bandwidth.xml
new file mode 100644
index 0000000..8933e7a
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/layout/fragment_prioritize_bandwidth.xml
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="utf-8"?>
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent">
+  <FrameLayout
+      android:layout_width="match_parent"
+      android:layout_height="match_parent"
+      android:id="@+id/frameLayoutBW">
+<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:id="@+id/frameLayout2"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    tools:context=".PrioritizeBandwidth">
+  <TextView
+      android:id="@+id/textView2"
+      android:layout_width="371dp"
+      android:layout_height="52dp"
+      android:text="Prioritize Bandwidth"
+      tools:layout_editor_absoluteX="20dp"
+      tools:layout_editor_absoluteY="4dp" />
+  <Button
+      android:id="@+id/releasebw"
+      android:layout_width="wrap_content"
+      android:layout_height="wrap_content"
+      android:layout_marginBottom="64dp"
+      android:text="Release Network"
+      app:layout_constraintBottom_toTopOf="@+id/requestbw"
+      app:layout_constraintEnd_toEndOf="parent"
+      app:layout_constraintStart_toStartOf="parent"
+      app:layout_constraintTop_toBottomOf="@+id/textView2"
+      app:layout_constraintVertical_bias="0.919" />
+  <Button
+      android:id="@+id/pingbw"
+      android:layout_width="182dp"
+      android:layout_height="42dp"
+      android:layout_marginBottom="228dp"
+      android:text="Ping"
+      app:layout_constraintBottom_toBottomOf="parent"
+      app:layout_constraintEnd_toEndOf="parent"
+      app:layout_constraintHorizontal_bias="0.493"
+      app:layout_constraintStart_toStartOf="parent" />
+  <Button
+      android:id="@+id/requestbw"
+      android:layout_width="wrap_content"
+      android:layout_height="wrap_content"
+      android:layout_marginTop="308dp"
+      android:text="RequestNetwork"
+      app:layout_constraintBottom_toTopOf="@+id/pingbw"
+      app:layout_constraintEnd_toEndOf="parent"
+      app:layout_constraintHorizontal_bias="0.495"
+      app:layout_constraintStart_toStartOf="parent"
+      app:layout_constraintTop_toTopOf="parent"
+      app:layout_constraintVertical_bias="0.314" />
+</androidx.constraintlayout.widget.ConstraintLayout>
+  </FrameLayout>
+</RelativeLayout>
\ No newline at end of file
diff --git a/testapps/TestSliceApp/app/src/main/res/layout/fragment_prioritize_latency.xml b/testapps/TestSliceApp/app/src/main/res/layout/fragment_prioritize_latency.xml
new file mode 100644
index 0000000..9527d69
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/layout/fragment_prioritize_latency.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="utf-8"?>
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent">
+  <FrameLayout
+      android:layout_width="match_parent"
+      android:layout_height="match_parent"
+      android:id="@+id/frameLayoutLatency">
+<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:id="@+id/frameLayout"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    tools:context=".PrioritizeLatency" >
+  <Button
+      android:id="@+id/requestlatency"
+      android:layout_width="wrap_content"
+      android:layout_height="wrap_content"
+      android:text="RequestNetwork"
+      app:layout_constraintBottom_toTopOf="@+id/button6"
+      app:layout_constraintEnd_toEndOf="parent"
+      app:layout_constraintHorizontal_bias="0.461"
+      app:layout_constraintStart_toStartOf="parent"
+      app:layout_constraintTop_toTopOf="parent"
+      app:layout_constraintVertical_bias="0.717" />
+  <Button
+      android:id="@+id/releaselatency"
+      android:layout_width="wrap_content"
+      android:layout_height="wrap_content"
+      android:layout_marginBottom="76dp"
+      android:text="Release Network"
+      app:layout_constraintBottom_toTopOf="@+id/button7"
+      app:layout_constraintEnd_toEndOf="parent"
+      app:layout_constraintHorizontal_bias="0.478"
+      app:layout_constraintStart_toStartOf="parent" />
+  <Button
+      android:id="@+id/pinglatency"
+      android:layout_width="182dp"
+      android:layout_height="42dp"
+      android:layout_marginBottom="308dp"
+      android:text="Ping"
+      app:layout_constraintBottom_toBottomOf="parent"
+      app:layout_constraintEnd_toEndOf="parent"
+      app:layout_constraintHorizontal_bias="0.471"
+      app:layout_constraintStart_toStartOf="parent" />
+  <TextView
+      android:id="@+id/textView"
+      android:layout_width="371dp"
+      android:layout_height="52dp"
+      android:text="Prioritize Latency"
+      tools:layout_editor_absoluteX="21dp"
+      tools:layout_editor_absoluteY="1dp" />
+</androidx.constraintlayout.widget.ConstraintLayout>
+    </FrameLayout>
+    </RelativeLayout>
\ No newline at end of file
diff --git a/testapps/TestSliceApp/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/testapps/TestSliceApp/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml
new file mode 100644
index 0000000..03eed25
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
+  <background android:drawable="@drawable/ic_launcher_background" />
+  <foreground android:drawable="@drawable/ic_launcher_foreground" />
+</adaptive-icon>
\ No newline at end of file
diff --git a/testapps/TestSliceApp/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml b/testapps/TestSliceApp/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml
new file mode 100644
index 0000000..03eed25
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
+  <background android:drawable="@drawable/ic_launcher_background" />
+  <foreground android:drawable="@drawable/ic_launcher_foreground" />
+</adaptive-icon>
\ No newline at end of file
diff --git a/testapps/TestSliceApp/app/src/main/res/mipmap-hdpi/ic_launcher.webp b/testapps/TestSliceApp/app/src/main/res/mipmap-hdpi/ic_launcher.webp
new file mode 100644
index 0000000..c209e78
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/mipmap-hdpi/ic_launcher.webp
Binary files differ
diff --git a/testapps/TestSliceApp/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp b/testapps/TestSliceApp/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp
new file mode 100644
index 0000000..b2dfe3d
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp
Binary files differ
diff --git a/testapps/TestSliceApp/app/src/main/res/mipmap-mdpi/ic_launcher.webp b/testapps/TestSliceApp/app/src/main/res/mipmap-mdpi/ic_launcher.webp
new file mode 100644
index 0000000..4f0f1d6
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/mipmap-mdpi/ic_launcher.webp
Binary files differ
diff --git a/testapps/TestSliceApp/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp b/testapps/TestSliceApp/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp
new file mode 100644
index 0000000..62b611d
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp
Binary files differ
diff --git a/testapps/TestSliceApp/app/src/main/res/mipmap-xhdpi/ic_launcher.webp b/testapps/TestSliceApp/app/src/main/res/mipmap-xhdpi/ic_launcher.webp
new file mode 100644
index 0000000..948a307
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/mipmap-xhdpi/ic_launcher.webp
Binary files differ
diff --git a/testapps/TestSliceApp/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp b/testapps/TestSliceApp/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp
new file mode 100644
index 0000000..1b9a695
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp
Binary files differ
diff --git a/testapps/TestSliceApp/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp b/testapps/TestSliceApp/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp
new file mode 100644
index 0000000..28d4b77
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp
Binary files differ
diff --git a/testapps/TestSliceApp/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp b/testapps/TestSliceApp/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp
new file mode 100644
index 0000000..9287f50
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp
Binary files differ
diff --git a/testapps/TestSliceApp/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp b/testapps/TestSliceApp/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp
new file mode 100644
index 0000000..aa7d642
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp
Binary files differ
diff --git a/testapps/TestSliceApp/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp b/testapps/TestSliceApp/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp
new file mode 100644
index 0000000..9126ae3
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp
Binary files differ
diff --git a/testapps/TestSliceApp/app/src/main/res/values-af/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-af/strings.xml
new file mode 100644
index 0000000..d172f0f
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-af/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Hallo leë fragment"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-am/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-am/strings.xml
new file mode 100644
index 0000000..229ff5d
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-am/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Hello blank fragment"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-ar/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-ar/strings.xml
new file mode 100644
index 0000000..0cadb81
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-ar/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"جزء فارغ للترحيب"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-as/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-as/strings.xml
new file mode 100644
index 0000000..229ff5d
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-as/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Hello blank fragment"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-az/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-az/strings.xml
new file mode 100644
index 0000000..3702d56
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-az/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Boş salamlama fraqmenti"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-b+sr+Latn/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-b+sr+Latn/strings.xml
new file mode 100644
index 0000000..229ff5d
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-b+sr+Latn/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Hello blank fragment"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-be/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-be/strings.xml
new file mode 100644
index 0000000..385f84e
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-be/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Вітаем,"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-bg/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-bg/strings.xml
new file mode 100644
index 0000000..943a70d
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-bg/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Здравей, празен фрагмент"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-bn/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-bn/strings.xml
new file mode 100644
index 0000000..229ff5d
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-bn/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Hello blank fragment"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-bs/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-bs/strings.xml
new file mode 100644
index 0000000..229ff5d
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-bs/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Hello blank fragment"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-ca/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-ca/strings.xml
new file mode 100644
index 0000000..9799d39
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-ca/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Fragment de benvinguda en blanc"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-cs/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-cs/strings.xml
new file mode 100644
index 0000000..793ab6f
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-cs/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Prázdný fragment pro pozdrav"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-da/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-da/strings.xml
new file mode 100644
index 0000000..229ff5d
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-da/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Hello blank fragment"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-de/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-de/strings.xml
new file mode 100644
index 0000000..229ff5d
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-de/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Hello blank fragment"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-el/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-el/strings.xml
new file mode 100644
index 0000000..229ff5d
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-el/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Hello blank fragment"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-en-rAU/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-en-rAU/strings.xml
new file mode 100644
index 0000000..229ff5d
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-en-rAU/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Hello blank fragment"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-en-rCA/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-en-rCA/strings.xml
new file mode 100644
index 0000000..229ff5d
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-en-rCA/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Hello blank fragment"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-en-rGB/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-en-rGB/strings.xml
new file mode 100644
index 0000000..229ff5d
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-en-rGB/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Hello blank fragment"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-en-rIN/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-en-rIN/strings.xml
new file mode 100644
index 0000000..229ff5d
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-en-rIN/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Hello blank fragment"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-en-rXC/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-en-rXC/strings.xml
new file mode 100644
index 0000000..dafc7d2
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-en-rXC/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‎‏‏‎‎‎‏‏‎‎‎‏‏‏‏‏‏‎‎‏‎‎‎‎‏‏‏‎‎‏‏‎‏‏‎‏‏‎‎‏‏‎‏‏‏‎‏‏‎‏‏‎‏‎‎‏‎‎‎‏‎‏‎‎TestSliceApp‎‏‎‎‏‎"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‎‏‏‎‎‎‏‎‏‎‎‎‏‏‏‎‏‏‏‎‏‏‎‎‎‎‏‎‎‏‎‎‏‎‎‎‎‎‏‎‏‏‎‏‏‏‎‏‎‏‎‎‏‏‏‎‎‏‎‎‏‏‏‎Hello blank fragment‎‏‎‎‏‎"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-es-rUS/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-es-rUS/strings.xml
new file mode 100644
index 0000000..229ff5d
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-es-rUS/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Hello blank fragment"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-es/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-es/strings.xml
new file mode 100644
index 0000000..355b912
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-es/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Hola, (segmento en blanco):"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-et/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-et/strings.xml
new file mode 100644
index 0000000..229ff5d
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-et/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Hello blank fragment"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-eu/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-eu/strings.xml
new file mode 100644
index 0000000..229ff5d
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-eu/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Hello blank fragment"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-fa/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-fa/strings.xml
new file mode 100644
index 0000000..6f35108
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-fa/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"سلام بخش خالی"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-fi/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-fi/strings.xml
new file mode 100644
index 0000000..229ff5d
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-fi/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Hello blank fragment"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-fr-rCA/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-fr-rCA/strings.xml
new file mode 100644
index 0000000..229ff5d
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-fr-rCA/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Hello blank fragment"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-fr/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-fr/strings.xml
new file mode 100644
index 0000000..e9b3b45
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-fr/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Bonjour fragment vierge"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-gl/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-gl/strings.xml
new file mode 100644
index 0000000..229ff5d
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-gl/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Hello blank fragment"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-gu/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-gu/strings.xml
new file mode 100644
index 0000000..229ff5d
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-gu/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Hello blank fragment"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-hi/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-hi/strings.xml
new file mode 100644
index 0000000..229ff5d
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-hi/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Hello blank fragment"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-hr/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-hr/strings.xml
new file mode 100644
index 0000000..229ff5d
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-hr/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Hello blank fragment"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-hu/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-hu/strings.xml
new file mode 100644
index 0000000..0e73dba
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-hu/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Üres üdvözlő rész"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-hy/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-hy/strings.xml
new file mode 100644
index 0000000..31a60c6
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-hy/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Դատարկ հատված"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-in/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-in/strings.xml
new file mode 100644
index 0000000..229ff5d
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-in/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Hello blank fragment"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-is/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-is/strings.xml
new file mode 100644
index 0000000..229ff5d
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-is/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Hello blank fragment"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-it/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-it/strings.xml
new file mode 100644
index 0000000..229ff5d
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-it/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Hello blank fragment"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-iw/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-iw/strings.xml
new file mode 100644
index 0000000..4287a40
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-iw/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"שלום קטע ריק"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-ja/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-ja/strings.xml
new file mode 100644
index 0000000..229ff5d
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-ja/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Hello blank fragment"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-ka/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-ka/strings.xml
new file mode 100644
index 0000000..8d91ed0
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-ka/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"მოგესალმებით, ეს ცარიელი ფრაგმენტია"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-kk/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-kk/strings.xml
new file mode 100644
index 0000000..229ff5d
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-kk/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Hello blank fragment"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-km/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-km/strings.xml
new file mode 100644
index 0000000..229ff5d
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-km/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Hello blank fragment"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-kn/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-kn/strings.xml
new file mode 100644
index 0000000..13a202b
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-kn/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"ಹಲೋ, ಖಾಲಿ ಫ್ರಾಗ್ಮೆಂಟ್"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-ko/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-ko/strings.xml
new file mode 100644
index 0000000..229ff5d
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-ko/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Hello blank fragment"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-ky/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-ky/strings.xml
new file mode 100644
index 0000000..229ff5d
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-ky/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Hello blank fragment"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-lo/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-lo/strings.xml
new file mode 100644
index 0000000..3d47ad6
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-lo/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"​ສະ​ບາຍ​ດີ​ຈຸດ​ແຕກທີ່​ຫວ່າງ​ເປົ່າ"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-lt/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-lt/strings.xml
new file mode 100644
index 0000000..509fd2d
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-lt/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Sveiki, tuščias fragmentas"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-lv/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-lv/strings.xml
new file mode 100644
index 0000000..229ff5d
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-lv/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Hello blank fragment"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-mk/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-mk/strings.xml
new file mode 100644
index 0000000..229ff5d
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-mk/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Hello blank fragment"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-ml/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-ml/strings.xml
new file mode 100644
index 0000000..47ca9c8
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-ml/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"ഹലോ ബ്ലാങ്ക് ഫ്രാഗ്‌മെന്റ്"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-mn/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-mn/strings.xml
new file mode 100644
index 0000000..1aa5138
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-mn/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Сайн байна уу хоосон хэсэг"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-mr/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-mr/strings.xml
new file mode 100644
index 0000000..7fbe792
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-mr/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"हॅलो ब्लँक फ्रॅग्मेंट"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-ms/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-ms/strings.xml
new file mode 100644
index 0000000..b928cd6
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-ms/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Helo cebisan kosong"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-my/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-my/strings.xml
new file mode 100644
index 0000000..229ff5d
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-my/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Hello blank fragment"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-nb/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-nb/strings.xml
new file mode 100644
index 0000000..3d601ab
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-nb/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Hei, tomt fragment"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-ne/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-ne/strings.xml
new file mode 100644
index 0000000..229ff5d
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-ne/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Hello blank fragment"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-nl/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-nl/strings.xml
new file mode 100644
index 0000000..5d10fc6
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-nl/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Hallo leeg fragment"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-or/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-or/strings.xml
new file mode 100644
index 0000000..229ff5d
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-or/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Hello blank fragment"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-pa/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-pa/strings.xml
new file mode 100644
index 0000000..229ff5d
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-pa/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Hello blank fragment"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-pl/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-pl/strings.xml
new file mode 100644
index 0000000..0bf147b
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-pl/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Tutaj jest pusty fragment"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-pt-rPT/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-pt-rPT/strings.xml
new file mode 100644
index 0000000..b94a687
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-pt-rPT/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Olá, fragmento em branco"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-pt/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-pt/strings.xml
new file mode 100644
index 0000000..229ff5d
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-pt/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Hello blank fragment"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-ro/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-ro/strings.xml
new file mode 100644
index 0000000..229ff5d
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-ro/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Hello blank fragment"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-ru/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-ru/strings.xml
new file mode 100644
index 0000000..229ff5d
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-ru/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Hello blank fragment"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-si/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-si/strings.xml
new file mode 100644
index 0000000..7c88afe
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-si/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"ආයුබෝවන් හිස් කොටස"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-sk/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-sk/strings.xml
new file mode 100644
index 0000000..229ff5d
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-sk/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Hello blank fragment"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-sl/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-sl/strings.xml
new file mode 100644
index 0000000..b3fd35a
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-sl/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Prazen del za pozdrav"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-sq/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-sq/strings.xml
new file mode 100644
index 0000000..229ff5d
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-sq/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Hello blank fragment"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-sr/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-sr/strings.xml
new file mode 100644
index 0000000..229ff5d
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-sr/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Hello blank fragment"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-sv/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-sv/strings.xml
new file mode 100644
index 0000000..229ff5d
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-sv/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Hello blank fragment"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-sw/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-sw/strings.xml
new file mode 100644
index 0000000..5cc6a6a
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-sw/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Kipande cha salamu kisichokuwa na kitu"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-ta/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-ta/strings.xml
new file mode 100644
index 0000000..229ff5d
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-ta/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Hello blank fragment"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-te/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-te/strings.xml
new file mode 100644
index 0000000..ad9cef8
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-te/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"హలో ఖాళీ విడిభాగము"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-th/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-th/strings.xml
new file mode 100644
index 0000000..229ff5d
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-th/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Hello blank fragment"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-tl/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-tl/strings.xml
new file mode 100644
index 0000000..229ff5d
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-tl/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Hello blank fragment"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-tr/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-tr/strings.xml
new file mode 100644
index 0000000..1e18a88
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-tr/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Merhaba boş bölüm"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-uk/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-uk/strings.xml
new file mode 100644
index 0000000..0219615
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-uk/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Пустий фрагмент із привітанням"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-ur/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-ur/strings.xml
new file mode 100644
index 0000000..229ff5d
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-ur/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Hello blank fragment"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-uz/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-uz/strings.xml
new file mode 100644
index 0000000..229ff5d
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-uz/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Hello blank fragment"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-vi/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-vi/strings.xml
new file mode 100644
index 0000000..229ff5d
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-vi/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Hello blank fragment"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-zh-rCN/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-zh-rCN/strings.xml
new file mode 100644
index 0000000..229ff5d
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-zh-rCN/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Hello blank fragment"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-zh-rHK/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-zh-rHK/strings.xml
new file mode 100644
index 0000000..93c0492
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-zh-rHK/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"歡迎詞空白片段"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-zh-rTW/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-zh-rTW/strings.xml
new file mode 100644
index 0000000..229ff5d
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-zh-rTW/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Hello blank fragment"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-zu/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-zu/strings.xml
new file mode 100644
index 0000000..229ff5d
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-zu/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Hello blank fragment"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values/colors.xml b/testapps/TestSliceApp/app/src/main/res/values/colors.xml
new file mode 100644
index 0000000..09837df
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values/colors.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+  <color name="purple_200">#FFBB86FC</color>
+  <color name="purple_500">#FF6200EE</color>
+  <color name="purple_700">#FF3700B3</color>
+  <color name="teal_200">#FF03DAC5</color>
+  <color name="teal_700">#FF018786</color>
+  <color name="black">#FF000000</color>
+  <color name="white">#FFFFFFFF</color>
+</resources>
\ No newline at end of file
diff --git a/testapps/TestSliceApp/app/src/main/res/values/strings.xml b/testapps/TestSliceApp/app/src/main/res/values/strings.xml
new file mode 100644
index 0000000..c2bb089
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values/strings.xml
@@ -0,0 +1,5 @@
+<resources>
+  <string name="app_name">TestSliceApp</string>
+  <!-- TODO: Remove or change this placeholder text -->
+  <string name="hello_blank_fragment">Hello blank fragment</string>
+</resources>
\ No newline at end of file
diff --git a/testapps/TestSliceApp/app/src/test/java/com/google/android/sample/testsliceapp/ExampleUnitTest.java b/testapps/TestSliceApp/app/src/test/java/com/google/android/sample/testsliceapp/ExampleUnitTest.java
new file mode 100644
index 0000000..c011e75
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/test/java/com/google/android/sample/testsliceapp/ExampleUnitTest.java
@@ -0,0 +1,32 @@
+/*
+ * Copyright (C) 2022 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.google.android.sample.testsliceapp;
+
+import static org.junit.Assert.*;
+
+import org.junit.Test;
+
+/**
+ * Example local unit test, which will execute on the development machine (host).
+ *
+ * @see <a href="http://d.android.com/tools/testing">Testing documentation</a>
+ */
+public class ExampleUnitTest {
+    @Test
+    public void addition_isCorrect() {
+        assertEquals(4, 2 + 2);
+    }
+}
diff --git a/testapps/TestSliceApp/build.gradle b/testapps/TestSliceApp/build.gradle
new file mode 100644
index 0000000..026daed
--- /dev/null
+++ b/testapps/TestSliceApp/build.gradle
@@ -0,0 +1,17 @@
+// Top-level build file where you can add configuration options common to all sub-projects/modules.
+buildscript {
+    repositories {
+        google()
+        mavenCentral()
+    }
+    dependencies {
+        classpath "com.android.tools.build:gradle:7.0.4"
+
+        // NOTE: Do not place your application dependencies here; they belong
+        // in the individual module build.gradle files
+    }
+}
+
+task clean(type: Delete) {
+    delete rootProject.buildDir
+}
\ No newline at end of file
diff --git a/testapps/TestSliceApp/gradle.properties b/testapps/TestSliceApp/gradle.properties
new file mode 100644
index 0000000..52f5917
--- /dev/null
+++ b/testapps/TestSliceApp/gradle.properties
@@ -0,0 +1,19 @@
+# Project-wide Gradle settings.
+# IDE (e.g. Android Studio) users:
+# Gradle settings configured through the IDE *will override*
+# any settings specified in this file.
+# For more details on how to configure your build environment visit
+# http://www.gradle.org/docs/current/userguide/build_environment.html
+# Specifies the JVM arguments used for the daemon process.
+# The setting is particularly useful for tweaking memory settings.
+org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8
+# When configured, Gradle will run in incubating parallel mode.
+# This option should only be used with decoupled projects. More details, visit
+# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
+# org.gradle.parallel=true
+# AndroidX package structure to make it clearer which packages are bundled with the
+# Android operating system, and which are packaged with your app"s APK
+# https://developer.android.com/topic/libraries/support-library/androidx-rn
+android.useAndroidX=true
+# Automatically convert third-party libraries to use AndroidX
+android.enableJetifier=true
\ No newline at end of file
diff --git a/testapps/TestSliceApp/gradle/wrapper/gradle-wrapper.jar b/testapps/TestSliceApp/gradle/wrapper/gradle-wrapper.jar
new file mode 100644
index 0000000..e708b1c
--- /dev/null
+++ b/testapps/TestSliceApp/gradle/wrapper/gradle-wrapper.jar
Binary files differ
diff --git a/testapps/TestSliceApp/gradle/wrapper/gradle-wrapper.properties b/testapps/TestSliceApp/gradle/wrapper/gradle-wrapper.properties
new file mode 100644
index 0000000..db8a139
--- /dev/null
+++ b/testapps/TestSliceApp/gradle/wrapper/gradle-wrapper.properties
@@ -0,0 +1,6 @@
+#Mon Feb 28 14:52:03 PST 2022
+distributionBase=GRADLE_USER_HOME
+distributionUrl=https\://services.gradle.org/distributions/gradle-7.0.2-bin.zip
+distributionPath=wrapper/dists
+zipStorePath=wrapper/dists
+zipStoreBase=GRADLE_USER_HOME
diff --git a/testapps/TestSliceApp/gradlew b/testapps/TestSliceApp/gradlew
new file mode 100755
index 0000000..4f906e0
--- /dev/null
+++ b/testapps/TestSliceApp/gradlew
@@ -0,0 +1,185 @@
+#!/usr/bin/env sh
+
+#
+# Copyright 2015 the original author or authors.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      https://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+##############################################################################
+##
+##  Gradle start up script for UN*X
+##
+##############################################################################
+
+# Attempt to set APP_HOME
+# Resolve links: $0 may be a link
+PRG="$0"
+# Need this for relative symlinks.
+while [ -h "$PRG" ] ; do
+    ls=`ls -ld "$PRG"`
+    link=`expr "$ls" : '.*-> \(.*\)$'`
+    if expr "$link" : '/.*' > /dev/null; then
+        PRG="$link"
+    else
+        PRG=`dirname "$PRG"`"/$link"
+    fi
+done
+SAVED="`pwd`"
+cd "`dirname \"$PRG\"`/" >/dev/null
+APP_HOME="`pwd -P`"
+cd "$SAVED" >/dev/null
+
+APP_NAME="Gradle"
+APP_BASE_NAME=`basename "$0"`
+
+# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
+DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
+
+# Use the maximum available, or set MAX_FD != -1 to use that value.
+MAX_FD="maximum"
+
+warn () {
+    echo "$*"
+}
+
+die () {
+    echo
+    echo "$*"
+    echo
+    exit 1
+}
+
+# OS specific support (must be 'true' or 'false').
+cygwin=false
+msys=false
+darwin=false
+nonstop=false
+case "`uname`" in
+  CYGWIN* )
+    cygwin=true
+    ;;
+  Darwin* )
+    darwin=true
+    ;;
+  MINGW* )
+    msys=true
+    ;;
+  NONSTOP* )
+    nonstop=true
+    ;;
+esac
+
+CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
+
+
+# Determine the Java command to use to start the JVM.
+if [ -n "$JAVA_HOME" ] ; then
+    if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
+        # IBM's JDK on AIX uses strange locations for the executables
+        JAVACMD="$JAVA_HOME/jre/sh/java"
+    else
+        JAVACMD="$JAVA_HOME/bin/java"
+    fi
+    if [ ! -x "$JAVACMD" ] ; then
+        die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
+
+Please set the JAVA_HOME variable in your environment to match the
+location of your Java installation."
+    fi
+else
+    JAVACMD="java"
+    which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
+
+Please set the JAVA_HOME variable in your environment to match the
+location of your Java installation."
+fi
+
+# Increase the maximum file descriptors if we can.
+if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then
+    MAX_FD_LIMIT=`ulimit -H -n`
+    if [ $? -eq 0 ] ; then
+        if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
+            MAX_FD="$MAX_FD_LIMIT"
+        fi
+        ulimit -n $MAX_FD
+        if [ $? -ne 0 ] ; then
+            warn "Could not set maximum file descriptor limit: $MAX_FD"
+        fi
+    else
+        warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
+    fi
+fi
+
+# For Darwin, add options to specify how the application appears in the dock
+if $darwin; then
+    GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
+fi
+
+# For Cygwin or MSYS, switch paths to Windows format before running java
+if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then
+    APP_HOME=`cygpath --path --mixed "$APP_HOME"`
+    CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
+
+    JAVACMD=`cygpath --unix "$JAVACMD"`
+
+    # We build the pattern for arguments to be converted via cygpath
+    ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
+    SEP=""
+    for dir in $ROOTDIRSRAW ; do
+        ROOTDIRS="$ROOTDIRS$SEP$dir"
+        SEP="|"
+    done
+    OURCYGPATTERN="(^($ROOTDIRS))"
+    # Add a user-defined pattern to the cygpath arguments
+    if [ "$GRADLE_CYGPATTERN" != "" ] ; then
+        OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
+    fi
+    # Now convert the arguments - kludge to limit ourselves to /bin/sh
+    i=0
+    for arg in "$@" ; do
+        CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
+        CHECK2=`echo "$arg"|egrep -c "^-"`                                 ### Determine if an option
+
+        if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then                    ### Added a condition
+            eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
+        else
+            eval `echo args$i`="\"$arg\""
+        fi
+        i=`expr $i + 1`
+    done
+    case $i in
+        0) set -- ;;
+        1) set -- "$args0" ;;
+        2) set -- "$args0" "$args1" ;;
+        3) set -- "$args0" "$args1" "$args2" ;;
+        4) set -- "$args0" "$args1" "$args2" "$args3" ;;
+        5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
+        6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
+        7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
+        8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
+        9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
+    esac
+fi
+
+# Escape application args
+save () {
+    for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done
+    echo " "
+}
+APP_ARGS=`save "$@"`
+
+# Collect all arguments for the java command, following the shell quoting and substitution rules
+eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS"
+
+exec "$JAVACMD" "$@"
diff --git a/testapps/TestSliceApp/gradlew.bat b/testapps/TestSliceApp/gradlew.bat
new file mode 100644
index 0000000..ac1b06f
--- /dev/null
+++ b/testapps/TestSliceApp/gradlew.bat
@@ -0,0 +1,89 @@
+@rem

+@rem Copyright 2015 the original author or authors.

+@rem

+@rem Licensed under the Apache License, Version 2.0 (the "License");

+@rem you may not use this file except in compliance with the License.

+@rem You may obtain a copy of the License at

+@rem

+@rem      https://www.apache.org/licenses/LICENSE-2.0

+@rem

+@rem Unless required by applicable law or agreed to in writing, software

+@rem distributed under the License is distributed on an "AS IS" BASIS,

+@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

+@rem See the License for the specific language governing permissions and

+@rem limitations under the License.

+@rem

+

+@if "%DEBUG%" == "" @echo off

+@rem ##########################################################################

+@rem

+@rem  Gradle startup script for Windows

+@rem

+@rem ##########################################################################

+

+@rem Set local scope for the variables with windows NT shell

+if "%OS%"=="Windows_NT" setlocal

+

+set DIRNAME=%~dp0

+if "%DIRNAME%" == "" set DIRNAME=.

+set APP_BASE_NAME=%~n0

+set APP_HOME=%DIRNAME%

+

+@rem Resolve any "." and ".." in APP_HOME to make it shorter.

+for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi

+

+@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.

+set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"

+

+@rem Find java.exe

+if defined JAVA_HOME goto findJavaFromJavaHome

+

+set JAVA_EXE=java.exe

+%JAVA_EXE% -version >NUL 2>&1

+if "%ERRORLEVEL%" == "0" goto execute

+

+echo.

+echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.

+echo.

+echo Please set the JAVA_HOME variable in your environment to match the

+echo location of your Java installation.

+

+goto fail

+

+:findJavaFromJavaHome

+set JAVA_HOME=%JAVA_HOME:"=%

+set JAVA_EXE=%JAVA_HOME%/bin/java.exe

+

+if exist "%JAVA_EXE%" goto execute

+

+echo.

+echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%

+echo.

+echo Please set the JAVA_HOME variable in your environment to match the

+echo location of your Java installation.

+

+goto fail

+

+:execute

+@rem Setup the command line

+

+set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar

+

+

+@rem Execute Gradle

+"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %*

+

+:end

+@rem End local scope for the variables with windows NT shell

+if "%ERRORLEVEL%"=="0" goto mainEnd

+

+:fail

+rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of

+rem the _cmd.exe /c_ return code!

+if  not "" == "%GRADLE_EXIT_CONSOLE%" exit 1

+exit /b 1

+

+:mainEnd

+if "%OS%"=="Windows_NT" endlocal

+

+:omega

diff --git a/testapps/TestSliceApp/settings.gradle b/testapps/TestSliceApp/settings.gradle
new file mode 100644
index 0000000..5d18e01
--- /dev/null
+++ b/testapps/TestSliceApp/settings.gradle
@@ -0,0 +1,10 @@
+dependencyResolutionManagement {
+    repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
+    repositories {
+        google()
+        mavenCentral()
+        jcenter() // Warning: this repository is going to shut down soon
+    }
+}
+rootProject.name = "TestSliceApp"
+include ':app'
diff --git a/tests/Android.bp b/tests/Android.bp
index c180476..08cac05 100644
--- a/tests/Android.bp
+++ b/tests/Android.bp
@@ -16,11 +16,7 @@
 
 package {
     // See: http://go/android-license-faq
-    // A large-scale-change added 'default_applicable_licenses' to import
-    // all of the 'license_kinds' from "packages_services_Telephony_license"
-    // to get the below license kinds:
-    //   SPDX-license-identifier-Apache-2.0
-    default_applicable_licenses: ["packages_services_Telephony_license"],
+    default_applicable_licenses: ["Android-Apache-2.0"],
 }
 
 android_test {
@@ -50,7 +46,8 @@
         "telephony-common-testing",
         "testng",
         "truth-prebuilt",
-	"testables",
+        "testables",
+        "platform-compat-test-rules",
     ],
 
     test_suites: [
diff --git a/tests/AndroidTest.xml b/tests/AndroidTest.xml
index 4188ee2..f616872 100644
--- a/tests/AndroidTest.xml
+++ b/tests/AndroidTest.xml
@@ -14,6 +14,9 @@
      limitations under the License.
 -->
 <configuration description="Run Phone application tests.">
+    <target_preparer class="com.android.tradefed.targetprep.RootTargetPreparer">
+        <option name="force-root" value="true" />
+    </target_preparer>
     <option name="test-suite-tag" value="apct" />
     <option name="test-suite-tag" value="apct-instrumentation" />
     <target_preparer class="com.android.tradefed.targetprep.suite.SuiteApkInstaller">
@@ -26,5 +29,6 @@
         <option name="package" value="com.android.phone.tests" />
         <option name="runner" value="androidx.test.runner.AndroidJUnitRunner" />
         <option name="hidden-api-checks" value="false"/>
+        <option name="test-filter-dir" value="/data/data/com.android.phone" />
     </test>
 </configuration>
diff --git a/tests/src/com/android/TestContext.java b/tests/src/com/android/TestContext.java
index 5456469..7edbed9 100644
--- a/tests/src/com/android/TestContext.java
+++ b/tests/src/com/android/TestContext.java
@@ -19,6 +19,7 @@
 import static org.mockito.ArgumentMatchers.anyInt;
 import static org.mockito.Mockito.doAnswer;
 
+import android.content.AttributionSource;
 import android.content.BroadcastReceiver;
 import android.content.ContentResolver;
 import android.content.Context;
@@ -29,6 +30,7 @@
 import android.os.Handler;
 import android.os.Looper;
 import android.os.PersistableBundle;
+import android.os.Process;
 import android.telecom.TelecomManager;
 import android.telephony.CarrierConfigManager;
 import android.telephony.SubscriptionManager;
@@ -96,6 +98,11 @@
     }
 
     @Override
+    public AttributionSource getAttributionSource() {
+        return new AttributionSource(Process.myUid(), getPackageName(), "");
+    }
+
+    @Override
     public Intent registerReceiver(BroadcastReceiver receiver, IntentFilter filter) {
         return null;
     }
diff --git a/tests/src/com/android/phone/CarrierConfigLoaderTest.java b/tests/src/com/android/phone/CarrierConfigLoaderTest.java
index 9c605da..60c3a84 100644
--- a/tests/src/com/android/phone/CarrierConfigLoaderTest.java
+++ b/tests/src/com/android/phone/CarrierConfigLoaderTest.java
@@ -25,7 +25,6 @@
 import static org.mockito.ArgumentMatchers.anyInt;
 import static org.mockito.ArgumentMatchers.anyString;
 import static org.mockito.ArgumentMatchers.eq;
-import static org.mockito.ArgumentMatchers.nullable;
 import static org.mockito.Mockito.doNothing;
 import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.verify;
@@ -65,7 +64,6 @@
 import java.io.FileDescriptor;
 import java.io.PrintWriter;
 import java.io.StringWriter;
-import java.util.List;
 
 /**
  * Unit Test for CarrierConfigLoader.
@@ -202,9 +200,8 @@
         mContext.grantPermission(STUB_PERMISSION_ENABLE_ALL);
 
         // Prepare to make sure we can save the config into the XML file which used as cache
-        List<String> carrierPackages = List.of(PLATFORM_CARRIER_CONFIG_PACKAGE);
-        doReturn(carrierPackages).when(mTelephonyManager).getCarrierPackageNamesForIntentAndPhone(
-                nullable(Intent.class), anyInt());
+        doReturn(PLATFORM_CARRIER_CONFIG_PACKAGE).when(mTelephonyManager)
+                .getCarrierServicePackageNameForLogicalSlot(anyInt());
 
         // Save the sample config into the XML file
         PersistableBundle config = getTestConfig();
diff --git a/tests/src/com/android/phone/ImsProvisioningControllerTest.java b/tests/src/com/android/phone/ImsProvisioningControllerTest.java
new file mode 100644
index 0000000..2094e20
--- /dev/null
+++ b/tests/src/com/android/phone/ImsProvisioningControllerTest.java
@@ -0,0 +1,1983 @@
+/*
+ * Copyright 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.phone;
+
+import static android.telephony.ims.ImsRcsManager.CAPABILITY_TYPE_PRESENCE_UCE;
+import static android.telephony.ims.ProvisioningManager.KEY_EAB_PROVISIONING_STATUS;
+import static android.telephony.ims.ProvisioningManager.KEY_VOICE_OVER_WIFI_ENABLED_OVERRIDE;
+import static android.telephony.ims.ProvisioningManager.KEY_VOLTE_PROVISIONING_STATUS;
+import static android.telephony.ims.ProvisioningManager.KEY_VT_PROVISIONING_STATUS;
+import static android.telephony.ims.ProvisioningManager.PROVISIONING_VALUE_DISABLED;
+import static android.telephony.ims.ProvisioningManager.PROVISIONING_VALUE_ENABLED;
+import static android.telephony.ims.feature.ImsFeature.FEATURE_MMTEL;
+import static android.telephony.ims.feature.ImsFeature.FEATURE_RCS;
+import static android.telephony.ims.feature.MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_CALL_COMPOSER;
+import static android.telephony.ims.feature.MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_SMS;
+import static android.telephony.ims.feature.MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_UT;
+import static android.telephony.ims.feature.MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_VIDEO;
+import static android.telephony.ims.feature.MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_VOICE;
+import static android.telephony.ims.stub.ImsRegistrationImplBase.REGISTRATION_TECH_CROSS_SIM;
+import static android.telephony.ims.stub.ImsRegistrationImplBase.REGISTRATION_TECH_IWLAN;
+import static android.telephony.ims.stub.ImsRegistrationImplBase.REGISTRATION_TECH_LTE;
+import static android.telephony.ims.stub.ImsRegistrationImplBase.REGISTRATION_TECH_NR;
+
+import static org.junit.Assert.assertEquals;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyBoolean;
+import static org.mockito.ArgumentMatchers.anyInt;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.atLeast;
+import static org.mockito.Mockito.atLeastOnce;
+import static org.mockito.Mockito.clearInvocations;
+import static org.mockito.Mockito.doAnswer;
+import static org.mockito.Mockito.doNothing;
+import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.verifyNoMoreInteractions;
+import static org.mockito.Mockito.when;
+
+import android.content.Context;
+import android.os.AsyncResult;
+import android.os.Handler;
+import android.os.HandlerThread;
+import android.os.IBinder;
+import android.os.Looper;
+import android.os.PersistableBundle;
+import android.telephony.CarrierConfigManager;
+import android.telephony.SubscriptionManager;
+import android.telephony.TelephonyRegistryManager;
+import android.telephony.ims.ProvisioningManager;
+import android.telephony.ims.aidl.IFeatureProvisioningCallback;
+import android.telephony.ims.aidl.IImsConfig;
+import android.telephony.ims.feature.MmTelFeature.MmTelCapabilities;
+import android.telephony.ims.feature.RcsFeature.RcsImsCapabilities;
+import android.telephony.ims.stub.ImsConfigImplBase;
+import android.telephony.ims.stub.ImsRegistrationImplBase;
+import android.test.suitebuilder.annotation.SmallTest;
+import android.testing.TestableLooper;
+import android.util.Log;
+
+import com.android.ims.FeatureConnector;
+import com.android.ims.ImsConfig;
+import com.android.ims.ImsManager;
+import com.android.ims.RcsFeatureManager;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+import org.mockito.ArgumentCaptor;
+import org.mockito.Captor;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.mockito.invocation.InvocationOnMock;
+import org.mockito.stubbing.Answer;
+
+/**
+ * Unit tests for ImsProvisioningContorller
+ */
+public class ImsProvisioningControllerTest {
+    private static final String TAG = "ImsProvisioningControllerTest";
+    private static final int[] MMTEL_CAPAS = new int[]{
+            CAPABILITY_TYPE_VOICE,
+            CAPABILITY_TYPE_VIDEO,
+            CAPABILITY_TYPE_UT,
+            CAPABILITY_TYPE_SMS,
+            CAPABILITY_TYPE_CALL_COMPOSER
+    };
+    private static final int MMTEL_CAPA_INVALID = 0;
+
+    private static final int RCS_CAPA_INVALID = RcsImsCapabilities.CAPABILITY_TYPE_NONE;
+
+    private static final int[] RADIO_TECHS = new int[]{
+            REGISTRATION_TECH_LTE,
+            REGISTRATION_TECH_IWLAN,
+            REGISTRATION_TECH_CROSS_SIM,
+            REGISTRATION_TECH_NR
+    };
+    private static final int RADIO_TECH_INVALID = ImsRegistrationImplBase.REGISTRATION_TECH_NONE;
+
+    @Mock
+    Context mContext;
+
+    @Mock
+    PhoneGlobals mPhone;
+    @Mock
+    CarrierConfigManager mCarrierConfigManager;
+    private PersistableBundle mPersistableBundle0;
+    private PersistableBundle mPersistableBundle1;
+    @Mock
+    SubscriptionManager mSubscriptionManager;
+    @Mock
+    TelephonyRegistryManager mTelephonyRegistryManager;
+    @Mock
+    ImsProvisioningLoader mImsProvisioningLoader;
+
+    @Mock
+    ImsManager mImsManager;
+    @Mock
+    ImsConfig mImsConfig;
+    @Mock
+    ImsProvisioningController.MmTelFeatureConnector mMmTelFeatureConnector;
+    @Mock
+    FeatureConnector<ImsManager> mMmTelFeatureConnector0;
+    @Mock
+    FeatureConnector<ImsManager> mMmTelFeatureConnector1;
+    @Captor
+    ArgumentCaptor<FeatureConnector.Listener<ImsManager>> mMmTelConnectorListener0;
+    @Captor
+    ArgumentCaptor<FeatureConnector.Listener<ImsManager>> mMmTelConnectorListener1;
+
+    @Mock
+    RcsFeatureManager mRcsFeatureManager;
+    @Mock
+    ImsProvisioningController.RcsFeatureConnector mRcsFeatureConnector;
+    @Mock
+    FeatureConnector<RcsFeatureManager> mRcsFeatureConnector0;
+    @Mock
+    FeatureConnector<RcsFeatureManager> mRcsFeatureConnector1;
+    @Captor
+    ArgumentCaptor<FeatureConnector.Listener<RcsFeatureManager>> mRcsConnectorListener0;
+    @Captor
+    ArgumentCaptor<FeatureConnector.Listener<RcsFeatureManager>> mRcsConnectorListener1;
+
+    @Mock
+    IFeatureProvisioningCallback mIFeatureProvisioningCallback0;
+    @Mock
+    IFeatureProvisioningCallback mIFeatureProvisioningCallback1;
+
+    @Mock
+    IBinder mIbinder0;
+    @Mock
+    IBinder mIbinder1;
+
+    private SubscriptionManager.OnSubscriptionsChangedListener mSubChangedListener;
+
+    private Handler mHandler;
+    private HandlerThread mHandlerThread;
+    private TestableLooper mLooper;
+
+    TestImsProvisioningController mTestImsProvisioningController;
+
+    int mPhoneId0 = 0;
+    int mPhoneId1 = 1;
+    int mSubId0 = 1234;
+    int mSubId1 = 5678;
+
+    int[][] mMmTelProvisioningStorage;
+    int[][] mRcsProvisioningStorage;
+    int[][] mImsConfigStorage;
+
+    private class TestImsProvisioningController extends ImsProvisioningController {
+        boolean mIsValidSubId = true;
+
+        TestImsProvisioningController() {
+            super(mPhone, 2, mHandlerThread.getLooper(),
+                    mMmTelFeatureConnector, mRcsFeatureConnector,
+                    mImsProvisioningLoader);
+        }
+
+        protected int getSubId(int slotId) {
+            return (slotId == mPhoneId0) ? mSubId0 : mSubId1;
+        }
+
+        protected int getSlotId(int subId) {
+            return (subId == mSubId0) ? mPhoneId0 : mPhoneId1;
+        }
+
+        protected ImsConfig getImsConfig(ImsManager imsManager) {
+            return mImsConfig;
+        }
+
+        protected ImsConfig getImsConfig(IImsConfig iImsConfig) {
+            return mImsConfig;
+        }
+
+        protected boolean isValidSubId(int subId) {
+            return mIsValidSubId;
+        }
+
+        public void setValidSubId(boolean valid) {
+            mIsValidSubId = valid;
+        }
+    }
+
+    @Before
+    public void setUp() throws Exception {
+        logd("setUp");
+        MockitoAnnotations.initMocks(this);
+
+        when(mPhone.getSystemServiceName(eq(CarrierConfigManager.class)))
+                .thenReturn(Context.CARRIER_CONFIG_SERVICE);
+        when(mPhone.getSystemService(eq(Context.CARRIER_CONFIG_SERVICE)))
+                .thenReturn(mCarrierConfigManager);
+
+        mPersistableBundle0 = new PersistableBundle();
+        mPersistableBundle1 = new PersistableBundle();
+
+        when(mCarrierConfigManager.getConfigForSubId(eq(mSubId0)))
+                .thenReturn(mPersistableBundle0);
+        when(mCarrierConfigManager.getConfigForSubId(eq(mSubId1)))
+                .thenReturn(mPersistableBundle1);
+
+        when(mPhone.getSystemServiceName(eq(SubscriptionManager.class)))
+                .thenReturn(Context.TELEPHONY_SUBSCRIPTION_SERVICE);
+        when(mPhone.getSystemService(eq(Context.TELEPHONY_SUBSCRIPTION_SERVICE)))
+                .thenReturn(mSubscriptionManager);
+
+
+        when(mPhone.getSystemServiceName(eq(TelephonyRegistryManager.class)))
+                .thenReturn(Context.TELEPHONY_REGISTRY_SERVICE);
+        when(mPhone.getSystemService(eq(Context.TELEPHONY_REGISTRY_SERVICE)))
+                .thenReturn(mTelephonyRegistryManager);
+        doAnswer(new Answer<Void>() {
+            @Override
+            public Void answer(InvocationOnMock invocation) throws Throwable {
+                mSubChangedListener = (SubscriptionManager.OnSubscriptionsChangedListener)
+                        invocation.getArguments()[0];
+                return null;
+            }
+        }).when(mTelephonyRegistryManager).addOnSubscriptionsChangedListener(
+                any(SubscriptionManager.OnSubscriptionsChangedListener.class),
+                any());
+
+        mHandlerThread = new HandlerThread("ImsStateCallbackControllerTest");
+        mHandlerThread.start();
+
+        initializeDefaultData();
+    }
+
+    @After
+    public void tearDown() throws Exception {
+        logd("tearDown");
+        if (mTestImsProvisioningController != null) {
+            mTestImsProvisioningController.destroy();
+            mTestImsProvisioningController = null;
+        }
+
+        if (mLooper != null) {
+            mLooper.destroy();
+            mLooper = null;
+        }
+    }
+
+    @Test
+    @SmallTest
+    public void addFeatureProvisioningChangedCallback_withCallback() throws Exception {
+        createImsProvisioningController();
+
+        // add callback with valid obj
+        try {
+            mTestImsProvisioningController.addFeatureProvisioningChangedCallback(
+                    mSubId0, mIFeatureProvisioningCallback0);
+        } catch (Exception e) {
+            throw new AssertionError("not expected exception", e);
+        }
+        // add callback with invalid obj
+        try {
+            mTestImsProvisioningController.addFeatureProvisioningChangedCallback(mSubId0, null);
+        } catch (IllegalArgumentException e) {
+            // expected result
+        } catch (Exception e) {
+            throw new AssertionError("not expected exception", e);
+        }
+        // remove callback with valid obj
+        try {
+            mTestImsProvisioningController.removeFeatureProvisioningChangedCallback(
+                    mSubId0, mIFeatureProvisioningCallback0);
+        } catch (Exception e) {
+            throw new AssertionError("not expected exception", e);
+        }
+        // remove callback with invalid obj
+        try {
+            mTestImsProvisioningController.removeFeatureProvisioningChangedCallback(mSubId0, null);
+        } catch (IllegalArgumentException e) {
+            // expected result
+        } catch (Exception e) {
+            throw new AssertionError("not expected exception", e);
+        }
+    }
+
+    @Test
+    @SmallTest
+    public void connectionReady_MmTelFeatureListener() throws Exception {
+        createImsProvisioningController();
+
+        // provisioning required capability
+        // voice, all tech
+        // video, all tech
+        setCarrierConfig(mSubId0, CarrierConfigManager.Ims.KEY_CAPABILITY_TYPE_VOICE_INT_ARRAY,
+                RADIO_TECHS);
+        setCarrierConfig(mSubId0, CarrierConfigManager.Ims.KEY_CAPABILITY_TYPE_VIDEO_INT_ARRAY,
+                RADIO_TECHS);
+
+        try {
+            mTestImsProvisioningController.addFeatureProvisioningChangedCallback(
+                    mSubId0, mIFeatureProvisioningCallback0);
+            mTestImsProvisioningController.addFeatureProvisioningChangedCallback(
+                    mSubId1, mIFeatureProvisioningCallback1);
+        } catch (Exception e) {
+            throw new AssertionError("not expected exception", e);
+        }
+        clearInvocations(mIFeatureProvisioningCallback0);
+        clearInvocations(mIFeatureProvisioningCallback1);
+
+        // change subId to be invalid
+        mTestImsProvisioningController.setValidSubId(false);
+
+        mMmTelConnectorListener0.getValue().connectionReady(mImsManager, mSubId0);
+
+        // setConfig not called, wait until subId is valid
+        verify(mImsConfig, times(0)).setConfig(anyInt(), anyInt());
+
+        // change subId
+        mSubChangedListener.onSubscriptionsChanged();
+        processAllMessages();
+
+        int[] keys = {
+                ProvisioningManager.KEY_VOICE_OVER_WIFI_ENABLED_OVERRIDE,
+                ProvisioningManager.KEY_VOLTE_PROVISIONING_STATUS,
+                ProvisioningManager.KEY_VT_PROVISIONING_STATUS};
+
+        // verify # of read data times from storage : # of MmTel storage length
+        verify(mImsProvisioningLoader, atLeast(keys.length))
+                .getProvisioningStatus(eq(mSubId0), eq(FEATURE_MMTEL), anyInt(), anyInt());
+
+        for (int index = 0; index < keys.length; index++) {
+            // verify function call vendor interface
+            verify(mImsConfig, times(1)).setConfig(eq(keys[index]), anyInt());
+        }
+
+        // verify other interactions
+        verifyNoMoreInteractions(mIFeatureProvisioningCallback0);
+        verifyNoMoreInteractions(mIFeatureProvisioningCallback1);
+        verifyNoMoreInteractions(mImsConfig);
+    }
+
+    @Test
+    @SmallTest
+    public void connectionReady_RcsFeatureListener() throws Exception {
+        createImsProvisioningController();
+
+        // provisioning required capability : PRESENCE, tech : all
+        setCarrierConfig(mSubId0,
+                CarrierConfigManager.Ims.KEY_CAPABILITY_TYPE_PRESENCE_UCE_INT_ARRAY, RADIO_TECHS);
+
+        try {
+            mTestImsProvisioningController.addFeatureProvisioningChangedCallback(
+                    mSubId0, mIFeatureProvisioningCallback0);
+            mTestImsProvisioningController.addFeatureProvisioningChangedCallback(
+                    mSubId1, mIFeatureProvisioningCallback1);
+        } catch (Exception e) {
+            throw new AssertionError("not expected exception", e);
+        }
+        clearInvocations(mIFeatureProvisioningCallback0);
+        clearInvocations(mIFeatureProvisioningCallback1);
+
+        mRcsConnectorListener0.getValue().connectionReady(mRcsFeatureManager, mSubId0);
+        processAllMessages();
+
+        // verify # of read data times from storage : # of Rcs storage length
+        verify(mImsProvisioningLoader, times(1))
+                .getProvisioningStatus(eq(mSubId0), eq(FEATURE_RCS), anyInt(), anyInt());
+
+        int key = ProvisioningManager.KEY_EAB_PROVISIONING_STATUS;
+        // verify function call vendor interface
+        verify(mImsConfig, times(1)).setConfig(eq(key), anyInt());
+
+        // verify other interactions
+        verifyNoMoreInteractions(mIFeatureProvisioningCallback0);
+        verifyNoMoreInteractions(mIFeatureProvisioningCallback1);
+        verifyNoMoreInteractions(mImsConfig);
+    }
+
+    @Test
+    @SmallTest
+    public void isImsProvisioningRequiredForCapability_withInvalidCapabilityTech()
+            throws Exception {
+        createImsProvisioningController();
+
+        // invalid Capa. and valid Radio tech - IllegalArgumentException OK
+        try {
+            mTestImsProvisioningController.isImsProvisioningRequiredForCapability(
+                    mSubId0, MMTEL_CAPA_INVALID, RADIO_TECHS[0]);
+        } catch (IllegalArgumentException e) {
+            // expected result
+        } catch (Exception e) {
+            throw new AssertionError("not expected exception", e);
+        }
+
+        // valid Capa. and invalid Radio tech - IllegalArumentException OK
+        try {
+            mTestImsProvisioningController.isImsProvisioningRequiredForCapability(
+                    mSubId0, MMTEL_CAPAS[0], RADIO_TECH_INVALID);
+        } catch (IllegalArgumentException e) {
+            // expected result
+        } catch (Exception e) {
+            throw new AssertionError("not expected exception", e);
+        }
+    }
+
+    @Test
+    @SmallTest
+    public void isImsProvisioningRequiredForCapability_withValidCapabilityTech() throws Exception {
+        createImsProvisioningController();
+
+        // provisioning required capability
+        // voice, all tech
+        // video, all tech
+        // UT, all tech
+        setCarrierConfig(mSubId0, CarrierConfigManager.Ims.KEY_CAPABILITY_TYPE_VOICE_INT_ARRAY,
+                RADIO_TECHS);
+        setCarrierConfig(mSubId0, CarrierConfigManager.Ims.KEY_CAPABILITY_TYPE_VIDEO_INT_ARRAY,
+                RADIO_TECHS);
+        setCarrierConfig(mSubId0, CarrierConfigManager.Ims.KEY_CAPABILITY_TYPE_UT_INT_ARRAY,
+                RADIO_TECHS);
+
+        // provisioning required for each capability
+        boolean[][] expectedRequired = new boolean[][] {
+                //voice - LTE, WLAN, CROSS-SIM, NR
+                {true, true, true, true},
+                //video - LTE, WLAN, CROSS-SIM, NR
+                {true, true, true, true},
+                //UT - LTE, WLAN, CROSS-SIM, NR
+                {true, true, true, true},
+                //SMS not required
+                {false, false, false, false},
+                //Call composer not required
+                {false, false, false, false}
+        };
+
+        boolean isRequired;
+        for (int i = 0; i < MMTEL_CAPAS.length; i++) {
+            for (int j = 0; j < RADIO_TECHS.length; j++) {
+                isRequired = mTestImsProvisioningController
+                .isImsProvisioningRequiredForCapability(
+                        mSubId0, MMTEL_CAPAS[i], RADIO_TECHS[j]);
+                assertEquals(expectedRequired[i][j], isRequired);
+            }
+        }
+    }
+
+    @Test
+    @SmallTest
+    public void isImsProvisioningRequiredForCapability_withDeprecatedKey() throws Exception {
+        createImsProvisioningController();
+
+        // provisioning required capability
+        // KEY_MMTEL_REQUIRES_PROVISIONING_BUNDLE is not defined
+        // but KEY_CARRIER_VOLTE_PROVISIONING_REQUIRED_BOOL and
+        // KEY_CARRIER_SUPPORTS_SS_OVER_UT_BOOL are defined
+        setDeprecatedCarrierConfig(
+                CarrierConfigManager.KEY_CARRIER_VOLTE_PROVISIONING_REQUIRED_BOOL, true);
+        setDeprecatedCarrierConfig(
+                CarrierConfigManager.KEY_CARRIER_UT_PROVISIONING_REQUIRED_BOOL, true);
+
+        // provisioning required for each capability
+        boolean[][] expectedRequired = new boolean[][] {
+                //voice - LTE, WLAN, CROSS-SIM, NR
+                {true, true, true, true},
+                //video - LTE, WLAN, CROSS-SIM, NR
+                {true, true, true, true},
+                //UT - LTE, WLAN, CROSS-SIM, NR
+                {true, true, true, true},
+                //SMS not required
+                {false, false, false, false},
+                //Call composer not required
+                {false, false, false, false}
+        };
+
+        boolean isRequired;
+        for (int i = 0; i < MMTEL_CAPAS.length; i++) {
+            for (int j = 0; j < RADIO_TECHS.length; j++) {
+                isRequired = mTestImsProvisioningController
+                        .isImsProvisioningRequiredForCapability(
+                                mSubId0, MMTEL_CAPAS[i], RADIO_TECHS[j]);
+                assertEquals(expectedRequired[i][j], isRequired);
+            }
+        }
+    }
+
+    @Test
+    @SmallTest
+    public void isRcsProvisioningRequiredForCapability_withInvalidCapabilityTech()
+            throws Exception {
+        createImsProvisioningController();
+
+        // invalid Capa. and valid Radio tech - IllegalArgumentException OK
+        try {
+            mTestImsProvisioningController.isRcsProvisioningRequiredForCapability(
+                    mSubId0, RCS_CAPA_INVALID, RADIO_TECHS[0]);
+        } catch (IllegalArgumentException e) {
+            // expected result
+        } catch (Exception e) {
+            throw new AssertionError("not expected exception", e);
+        }
+
+        // valid Capa. and invalid Radio tech - IllegalArumentException OK
+        try {
+            mTestImsProvisioningController.isRcsProvisioningRequiredForCapability(
+                    mSubId0, CAPABILITY_TYPE_PRESENCE_UCE, RADIO_TECH_INVALID);
+        } catch (IllegalArgumentException e) {
+            // expected result
+        } catch (Exception e) {
+            throw new AssertionError("not expected exception", e);
+        }
+    }
+
+    @Test
+    @SmallTest
+    public void isRcsProvisioningRequiredForCapability_withValidCapabilityTech() throws Exception {
+        createImsProvisioningController();
+
+        // provisioning required capability : PRESENCE, tech : all
+        setCarrierConfig(mSubId0,
+                CarrierConfigManager.Ims.KEY_CAPABILITY_TYPE_PRESENCE_UCE_INT_ARRAY, RADIO_TECHS);
+
+        // PRESENCE provisioning required on
+        boolean[] expectedRequired = new boolean[]
+                //LTE, WLAN, CROSS-SIM, NR
+                {true, true, true, true};
+
+        boolean isRequired;
+        for (int i = 0; i < RADIO_TECHS.length; i++) {
+            isRequired = mTestImsProvisioningController
+            .isRcsProvisioningRequiredForCapability(
+                    mSubId0, CAPABILITY_TYPE_PRESENCE_UCE, RADIO_TECHS[i]);
+            assertEquals(expectedRequired[i], isRequired);
+        }
+    }
+
+    @Test
+    @SmallTest
+    public void isRcsProvisioningRequiredForCapability_withDeprecatedKey() throws Exception {
+        createImsProvisioningController();
+
+        // provisioning required capability
+        // KEY_MMTEL_REQUIRES_PROVISIONING_BUNDLE is not defined
+        // but KEY_CARRIER_RCS_PROVISIONING_REQUIRED_BOOL is defined
+        setDeprecatedCarrierConfig(
+                CarrierConfigManager.KEY_CARRIER_RCS_PROVISIONING_REQUIRED_BOOL, true);
+
+        // PRESENCE provisioning required on
+        boolean[] expectedRequired = new boolean[]
+                //LTE, WLAN, CROSS-SIM, NR
+                {true, true, true, true};
+
+        boolean isRequired;
+        for (int i = 0; i < RADIO_TECHS.length; i++) {
+            isRequired = mTestImsProvisioningController
+                    .isRcsProvisioningRequiredForCapability(
+                            mSubId0, CAPABILITY_TYPE_PRESENCE_UCE, RADIO_TECHS[i]);
+            assertEquals(expectedRequired[i], isRequired);
+        }
+    }
+
+    @Test
+    @SmallTest
+    public void getImsProvisioningRequiredForCapability_withVoiceVideoUt() throws Exception {
+        createImsProvisioningController();
+
+        // provisioning required capability
+        // voice, all tech
+        // video, all tech
+        // UT, all tech
+        setCarrierConfig(mSubId0, CarrierConfigManager.Ims.KEY_CAPABILITY_TYPE_VOICE_INT_ARRAY,
+                RADIO_TECHS);
+        setCarrierConfig(mSubId0, CarrierConfigManager.Ims.KEY_CAPABILITY_TYPE_VIDEO_INT_ARRAY,
+                RADIO_TECHS);
+        setCarrierConfig(mSubId0, CarrierConfigManager.Ims.KEY_CAPABILITY_TYPE_UT_INT_ARRAY,
+                RADIO_TECHS);
+
+        // provisioning Status
+        mMmTelProvisioningStorage = new int[][] {
+                {CAPABILITY_TYPE_VOICE, REGISTRATION_TECH_LTE, 0},
+                {CAPABILITY_TYPE_VOICE, REGISTRATION_TECH_IWLAN, 1},
+                {CAPABILITY_TYPE_VOICE, REGISTRATION_TECH_CROSS_SIM, 1},
+                {CAPABILITY_TYPE_VOICE, REGISTRATION_TECH_NR, 1},
+                {CAPABILITY_TYPE_VIDEO, REGISTRATION_TECH_LTE, 0},
+                {CAPABILITY_TYPE_VIDEO, REGISTRATION_TECH_IWLAN, 0},
+                {CAPABILITY_TYPE_VIDEO, REGISTRATION_TECH_CROSS_SIM, 1},
+                {CAPABILITY_TYPE_VIDEO, REGISTRATION_TECH_NR, 1},
+                {CAPABILITY_TYPE_UT, REGISTRATION_TECH_LTE, 0},
+                {CAPABILITY_TYPE_UT, REGISTRATION_TECH_IWLAN, 0},
+                {CAPABILITY_TYPE_UT, REGISTRATION_TECH_CROSS_SIM, 0},
+                {CAPABILITY_TYPE_UT, REGISTRATION_TECH_NR, 0},
+        };
+
+        boolean[] expectedVoiceProvisioningStatus = new boolean[] {false, true, true, true};
+        boolean[] expectedVideoProvisioningStatus = new boolean[] {false, false, true, true};
+        boolean[] expectedUtProvisioningStatus = new boolean[] {false, false, false, false};
+
+        boolean provisioned = false;
+        int capability = CAPABILITY_TYPE_VOICE;
+        for (int i = 0; i < RADIO_TECHS.length; i++) {
+            // get provisioning status
+            provisioned = mTestImsProvisioningController
+                    .getImsProvisioningStatusForCapability(mSubId0, capability, RADIO_TECHS[i]);
+
+            // verify return value
+            assertEquals(expectedVoiceProvisioningStatus[i], provisioned);
+
+            // verify whether ImsProvisioningLoader is called or not
+            verify(mImsProvisioningLoader, times(1))
+                    .getProvisioningStatus(eq(mSubId0), eq(FEATURE_MMTEL), eq(capability),
+                            eq(RADIO_TECHS[i]));
+        }
+
+        capability = CAPABILITY_TYPE_VIDEO;
+        for (int i = 0; i < RADIO_TECHS.length; i++) {
+            // get provisioning status
+            provisioned = mTestImsProvisioningController
+                    .getImsProvisioningStatusForCapability(mSubId0, capability, RADIO_TECHS[i]);
+
+            // verify return value
+            assertEquals(expectedVideoProvisioningStatus[i], provisioned);
+
+            // verify whether ImsProvisioningLoader is called or not
+            verify(mImsProvisioningLoader, times(1))
+                    .getProvisioningStatus(eq(mSubId0), eq(FEATURE_MMTEL), eq(capability),
+                            eq(RADIO_TECHS[i]));
+        }
+
+        capability = CAPABILITY_TYPE_UT;
+        for (int i = 0; i < RADIO_TECHS.length; i++) {
+            // get provisioning status
+            provisioned = mTestImsProvisioningController
+                    .getImsProvisioningStatusForCapability(mSubId0, capability, RADIO_TECHS[i]);
+
+            // verify return value
+            assertEquals(expectedUtProvisioningStatus[i], provisioned);
+
+            // verify whether ImsProvisioningLoader is called or not
+            verify(mImsProvisioningLoader, times(1))
+                    .getProvisioningStatus(eq(mSubId0), eq(FEATURE_MMTEL), eq(capability),
+                            eq(RADIO_TECHS[i]));
+        }
+
+        verifyNoMoreInteractions(mImsProvisioningLoader);
+    }
+
+    @Test
+    @SmallTest
+    public void getImsProvisioningRequiredForCapability_withNotSet() throws Exception {
+        createImsProvisioningController();
+
+        mMmTelConnectorListener0.getValue().connectionReady(mImsManager, mSubId0);
+        processAllMessages();
+
+        clearInvocations(mImsConfig);
+        clearInvocations(mImsProvisioningLoader);
+
+        // provisioning required capability
+        // voice, LTE, IWLAN
+        // video, LTE
+        setCarrierConfig(mSubId0, CarrierConfigManager.Ims.KEY_CAPABILITY_TYPE_VOICE_INT_ARRAY,
+                REGISTRATION_TECH_LTE, REGISTRATION_TECH_IWLAN);
+        setCarrierConfig(mSubId0, CarrierConfigManager.Ims.KEY_CAPABILITY_TYPE_VIDEO_INT_ARRAY,
+                REGISTRATION_TECH_LTE);
+
+        // provisioning StatusP, all of provisioning status is not provisioned
+        mMmTelProvisioningStorage = new int[][]{
+                {CAPABILITY_TYPE_VOICE, REGISTRATION_TECH_LTE, -1},
+                {CAPABILITY_TYPE_VOICE, REGISTRATION_TECH_IWLAN, -1},
+                {CAPABILITY_TYPE_VIDEO, REGISTRATION_TECH_LTE, -1}
+        };
+        // provisioning status in vendor ImsService
+        mImsConfigStorage = new int[][] {
+                {KEY_VOLTE_PROVISIONING_STATUS, 1},
+                {KEY_VT_PROVISIONING_STATUS, 0},
+                {KEY_VOICE_OVER_WIFI_ENABLED_OVERRIDE, 1},
+        };
+
+        boolean provisioned;
+
+        // for KEY_VOLTE_PROVISIONING_STATUS
+        int capability = CAPABILITY_TYPE_VOICE;
+        int tech = REGISTRATION_TECH_LTE;
+        provisioned = mTestImsProvisioningController
+                .getImsProvisioningStatusForCapability(mSubId0, capability, tech);
+
+        // verify return value default false - not provisioned
+        assertEquals(true, provisioned);
+
+        verify(mImsProvisioningLoader, times(1))
+                .getProvisioningStatus(eq(mSubId0), eq(FEATURE_MMTEL), eq(capability), eq(tech));
+
+        // verify whether ImsProvisioningLoader is called or not
+        verify(mImsConfig, times(1)).getConfigInt(eq(KEY_VOLTE_PROVISIONING_STATUS));
+
+        // verify whether ImsProvisioningLoader is called or not
+        verify(mImsProvisioningLoader, times(1))
+                .setProvisioningStatus(eq(mSubId0), eq(FEATURE_MMTEL), eq(capability), eq(tech),
+                        eq(provisioned));
+
+        clearInvocations(mImsConfig);
+        clearInvocations(mImsProvisioningLoader);
+
+        // for KEY_VT_PROVISIONING_STATUS
+        capability = CAPABILITY_TYPE_VIDEO;
+        tech = REGISTRATION_TECH_LTE;
+        provisioned = mTestImsProvisioningController
+                .getImsProvisioningStatusForCapability(mSubId0, capability, tech);
+
+        // verify return value default false - not provisioned
+        assertEquals(false, provisioned);
+
+        verify(mImsProvisioningLoader, times(1))
+                .getProvisioningStatus(eq(mSubId0), eq(FEATURE_MMTEL), eq(capability), eq(tech));
+
+        // verify whether ImsProvisioningLoader is called or not
+        verify(mImsConfig, times(1)).getConfigInt(eq(KEY_VT_PROVISIONING_STATUS));
+
+        // verify whether ImsProvisioningLoader is called or not
+        verify(mImsProvisioningLoader, times(1))
+                .setProvisioningStatus(eq(mSubId0), eq(FEATURE_MMTEL), eq(capability), eq(tech),
+                        eq(provisioned));
+
+        verifyNoMoreInteractions(mImsConfig);
+        verifyNoMoreInteractions(mImsProvisioningLoader);
+    }
+
+    @Test
+    @SmallTest
+    public void getRcsProvisioningRequiredForCapability_withPresence() throws Exception {
+        createImsProvisioningController();
+
+        // provisioning required capability
+        // PRESENCE, all tech
+        setCarrierConfig(mSubId0,
+                CarrierConfigManager.Ims.KEY_CAPABILITY_TYPE_PRESENCE_UCE_INT_ARRAY, RADIO_TECHS);
+
+        // provisioning Status
+        mRcsProvisioningStorage = new int[][] {
+                {CAPABILITY_TYPE_PRESENCE_UCE, REGISTRATION_TECH_LTE, 1},
+                {CAPABILITY_TYPE_PRESENCE_UCE, REGISTRATION_TECH_IWLAN, 1},
+                {CAPABILITY_TYPE_PRESENCE_UCE, REGISTRATION_TECH_CROSS_SIM, 1},
+                {CAPABILITY_TYPE_PRESENCE_UCE, REGISTRATION_TECH_NR, 1}
+        };
+
+        boolean[] expectedPresenceProvisioningStatus = new boolean[] {true, true, true, true};
+
+        boolean provisioned = false;
+        int capability = CAPABILITY_TYPE_PRESENCE_UCE;
+        for (int i = 0; i < RADIO_TECHS.length; i++) {
+            // get provisioning status
+            provisioned = mTestImsProvisioningController
+                    .getRcsProvisioningStatusForCapability(mSubId0, capability, RADIO_TECHS[i]);
+
+            // verify return value
+            assertEquals(expectedPresenceProvisioningStatus[i], provisioned);
+
+            // verify whether ImsProvisioningLoader is called or not
+            verify(mImsProvisioningLoader, times(1)).getProvisioningStatus(
+                    eq(mSubId0), eq(FEATURE_RCS), eq(capability), eq(RADIO_TECHS[i]));
+        }
+
+        verifyNoMoreInteractions(mImsProvisioningLoader);
+    }
+
+    @Test
+    @SmallTest
+    public void getRcsProvisioningRequiredForCapability_withNotSet() throws Exception {
+        createImsProvisioningController();
+
+        mRcsConnectorListener0.getValue().connectionReady(mRcsFeatureManager, mSubId0);
+        processAllMessages();
+
+        clearInvocations(mImsConfig);
+        clearInvocations(mImsProvisioningLoader);
+
+        // provisioning required capability
+        // PRESENCE, LTE, IWLAN
+        setCarrierConfig(mSubId0,
+                CarrierConfigManager.Ims.KEY_CAPABILITY_TYPE_PRESENCE_UCE_INT_ARRAY,
+                REGISTRATION_TECH_LTE, REGISTRATION_TECH_IWLAN);
+
+        // provisioning Status, all of provisioning status is not provisioned
+        mRcsProvisioningStorage = new int[][]{
+                {CAPABILITY_TYPE_PRESENCE_UCE, REGISTRATION_TECH_LTE, -1},
+                {CAPABILITY_TYPE_PRESENCE_UCE, REGISTRATION_TECH_IWLAN, -1},
+                {CAPABILITY_TYPE_PRESENCE_UCE, REGISTRATION_TECH_CROSS_SIM, -1},
+                {CAPABILITY_TYPE_PRESENCE_UCE, REGISTRATION_TECH_NR, -1}
+        };
+        // provisioning status in vendor ImsService
+        mImsConfigStorage = new int[][] {
+                {KEY_EAB_PROVISIONING_STATUS, 1}
+        };
+
+        boolean provisioned;
+
+        // for KEY_EAB_PROVISIONING_STATUS
+        int capability = CAPABILITY_TYPE_PRESENCE_UCE;
+        int tech = REGISTRATION_TECH_LTE;
+        provisioned = mTestImsProvisioningController
+                .getRcsProvisioningStatusForCapability(mSubId0, capability, tech);
+
+        // verify return value default false - not provisioned
+        assertEquals(true, provisioned);
+
+        verify(mImsProvisioningLoader, times(1)).getProvisioningStatus(
+                eq(mSubId0), eq(FEATURE_RCS), eq(capability), eq(tech));
+
+        // verify whether ImsProvisioningLoader is called or not
+        verify(mImsConfig, times(1)).getConfigInt(eq(KEY_EAB_PROVISIONING_STATUS));
+
+        // verify whether ImsProvisioningLoader is called or not
+        verify(mImsProvisioningLoader, times(RADIO_TECHS.length)).setProvisioningStatus(
+                eq(mSubId0), eq(FEATURE_RCS), eq(capability), anyInt(), eq(provisioned));
+
+        verifyNoMoreInteractions(mImsConfig);
+        verifyNoMoreInteractions(mImsProvisioningLoader);
+    }
+
+    @Test
+    @SmallTest
+    public void setImsProvisioningRequiredForCapability_withVoice() throws Exception {
+        createImsProvisioningController();
+
+        mMmTelConnectorListener0.getValue().connectionReady(mImsManager, mSubId0);
+        processAllMessages();
+
+        // register callbacks
+        mTestImsProvisioningController.addFeatureProvisioningChangedCallback(
+                mSubId0, mIFeatureProvisioningCallback0);
+        mTestImsProvisioningController.addFeatureProvisioningChangedCallback(
+                mSubId1, mIFeatureProvisioningCallback1);
+
+        clearInvocations(mIFeatureProvisioningCallback0);
+        clearInvocations(mIFeatureProvisioningCallback1);
+        clearInvocations(mImsConfig);
+        clearInvocations(mImsProvisioningLoader);
+
+        // provisioning required capability
+        // voice, all tech
+        setCarrierConfig(mSubId0, CarrierConfigManager.Ims.KEY_CAPABILITY_TYPE_VOICE_INT_ARRAY,
+                RADIO_TECHS);
+
+        // provisioning Status, all of provisioning status is not provisioned
+        mMmTelProvisioningStorage = new int[][] {
+                {CAPABILITY_TYPE_VOICE, REGISTRATION_TECH_LTE, 0},
+                {CAPABILITY_TYPE_VOICE, REGISTRATION_TECH_IWLAN, 0},
+                {CAPABILITY_TYPE_VOICE, REGISTRATION_TECH_CROSS_SIM, 0},
+                {CAPABILITY_TYPE_VOICE, REGISTRATION_TECH_NR, 0}
+        };
+
+        boolean provisionedFirst = false;
+        boolean provisionedSecond = false;
+        int capability = CAPABILITY_TYPE_VOICE;
+        for (int i = 0; i < RADIO_TECHS.length; i++) {
+            // get provisioning status
+            provisionedFirst = mTestImsProvisioningController
+                    .getImsProvisioningStatusForCapability(mSubId0, capability, RADIO_TECHS[i]);
+
+            // verify return value default false - not provisioned
+            assertEquals(false, provisionedFirst);
+
+            mTestImsProvisioningController.setImsProvisioningStatusForCapability(
+                    mSubId0, capability, RADIO_TECHS[i], !provisionedFirst);
+            processAllMessages();
+
+            provisionedSecond = mTestImsProvisioningController
+                    .getImsProvisioningStatusForCapability(mSubId0, capability, RADIO_TECHS[i]);
+
+            // verify return value default false - provisioned
+            assertEquals(!provisionedFirst, provisionedSecond);
+
+            // verify whether ImsProvisioningLoader is called or not
+            verify(mImsProvisioningLoader, times(2))
+                    .getProvisioningStatus(eq(mSubId0), eq(FEATURE_MMTEL), eq(capability),
+                            eq(RADIO_TECHS[i]));
+            verify(mImsProvisioningLoader, times(1))
+                    .setProvisioningStatus(eq(mSubId0), eq(FEATURE_MMTEL), eq(capability),
+                            eq(RADIO_TECHS[i]), eq(provisionedSecond));
+
+            // verify whether Callback is called or not
+            verify(mIFeatureProvisioningCallback0, times(1))
+                    .onFeatureProvisioningChanged(eq(capability), eq(RADIO_TECHS[i]),
+                            eq(provisionedSecond));
+        }
+
+        // verify whether ImsConfig is called or not
+        verify(mImsConfig, times(1)).setConfig(
+                eq(KEY_VOLTE_PROVISIONING_STATUS), eq(PROVISIONING_VALUE_ENABLED));
+        verify(mImsConfig, times(1)).setConfig(
+                eq(KEY_VOICE_OVER_WIFI_ENABLED_OVERRIDE), eq(PROVISIONING_VALUE_ENABLED));
+
+        verifyNoMoreInteractions(mIFeatureProvisioningCallback0);
+        verifyNoMoreInteractions(mIFeatureProvisioningCallback1);
+        verifyNoMoreInteractions(mImsConfig);
+        verifyNoMoreInteractions(mImsProvisioningLoader);
+    }
+
+    @Test
+    @SmallTest
+    public void setImsProvisioningRequiredForCapability_withVideo() throws Exception {
+        createImsProvisioningController();
+
+        mMmTelConnectorListener0.getValue().connectionReady(mImsManager, mSubId0);
+        processAllMessages();
+
+        // register callbacks
+        mTestImsProvisioningController.addFeatureProvisioningChangedCallback(
+                mSubId0, mIFeatureProvisioningCallback0);
+        mTestImsProvisioningController.addFeatureProvisioningChangedCallback(
+                mSubId1, mIFeatureProvisioningCallback1);
+
+        clearInvocations(mIFeatureProvisioningCallback0);
+        clearInvocations(mIFeatureProvisioningCallback1);
+        clearInvocations(mImsConfig);
+        clearInvocations(mImsProvisioningLoader);
+
+        // provisioning required capability
+        // video, all tech
+        setCarrierConfig(mSubId0, CarrierConfigManager.Ims.KEY_CAPABILITY_TYPE_VIDEO_INT_ARRAY,
+                RADIO_TECHS);
+
+        // provisioning Status, all of provisioning status is not provisioned
+        mMmTelProvisioningStorage = new int[][] {
+                {CAPABILITY_TYPE_VIDEO, REGISTRATION_TECH_LTE, 0},
+                {CAPABILITY_TYPE_VIDEO, REGISTRATION_TECH_IWLAN, 0},
+                {CAPABILITY_TYPE_VIDEO, REGISTRATION_TECH_CROSS_SIM, 0},
+                {CAPABILITY_TYPE_VIDEO, REGISTRATION_TECH_NR, 0}
+        };
+
+        boolean provisionedFirst = false;
+        boolean provisionedSecond = false;
+        int capability = CAPABILITY_TYPE_VIDEO;
+        for (int i = 0; i < RADIO_TECHS.length; i++) {
+            // get provisioning status
+            provisionedFirst = mTestImsProvisioningController
+                    .getImsProvisioningStatusForCapability(mSubId0, capability, RADIO_TECHS[i]);
+
+            // verify return value default false - not provisioned
+            assertEquals(false, provisionedFirst);
+
+            mTestImsProvisioningController.setImsProvisioningStatusForCapability(
+                    mSubId0, capability, RADIO_TECHS[i], !provisionedFirst);
+            processAllMessages();
+
+            provisionedSecond = mTestImsProvisioningController
+                    .getImsProvisioningStatusForCapability(mSubId0, capability, RADIO_TECHS[i]);
+
+            // verify return value default false - provisioned
+            assertEquals(!provisionedFirst, provisionedSecond);
+
+            // verify whether ImsProvisioningLoader is called or not
+            verify(mImsProvisioningLoader, times(2))
+                    .getProvisioningStatus(eq(mSubId0), eq(FEATURE_MMTEL), eq(capability),
+                            eq(RADIO_TECHS[i]));
+            verify(mImsProvisioningLoader, times(1))
+                    .setProvisioningStatus(eq(mSubId0), eq(FEATURE_MMTEL), eq(capability),
+                            eq(RADIO_TECHS[i]), eq(provisionedSecond));
+
+            // verify whether Callback is called or not
+            verify(mIFeatureProvisioningCallback0, times(1))
+                    .onFeatureProvisioningChanged(eq(capability), eq(RADIO_TECHS[i]),
+                            eq(provisionedSecond));
+        }
+
+        // verify whether ImsConfig is called or not
+        verify(mImsConfig, times(1)).setConfig(
+                eq(KEY_VT_PROVISIONING_STATUS), eq(PROVISIONING_VALUE_ENABLED));
+
+        verifyNoMoreInteractions(mIFeatureProvisioningCallback0);
+        verifyNoMoreInteractions(mIFeatureProvisioningCallback1);
+        verifyNoMoreInteractions(mImsConfig);
+        verifyNoMoreInteractions(mImsProvisioningLoader);
+    }
+
+    @Test
+    @SmallTest
+    public void setRcsProvisioningRequiredForCapability_withPresence() throws Exception {
+        createImsProvisioningController();
+
+        mMmTelConnectorListener0.getValue().connectionReady(mImsManager, mSubId0);
+        mRcsConnectorListener0.getValue().connectionReady(mRcsFeatureManager, mSubId0);
+        processAllMessages();
+
+        // register callbacks
+        mTestImsProvisioningController.addFeatureProvisioningChangedCallback(
+                mSubId0, mIFeatureProvisioningCallback0);
+        mTestImsProvisioningController.addFeatureProvisioningChangedCallback(
+                mSubId1, mIFeatureProvisioningCallback1);
+
+        clearInvocations(mIFeatureProvisioningCallback0);
+        clearInvocations(mIFeatureProvisioningCallback1);
+        clearInvocations(mImsConfig);
+        clearInvocations(mImsProvisioningLoader);
+
+        // provisioning required capability
+        // PRESENCE, all tech
+        setCarrierConfig(mSubId0,
+                CarrierConfigManager.Ims.KEY_CAPABILITY_TYPE_PRESENCE_UCE_INT_ARRAY, RADIO_TECHS);
+
+        // provisioning Status, all of provisioning status is not provisioned
+        mRcsProvisioningStorage = new int[][] {
+                {CAPABILITY_TYPE_PRESENCE_UCE, REGISTRATION_TECH_LTE, 0},
+                {CAPABILITY_TYPE_PRESENCE_UCE, REGISTRATION_TECH_IWLAN, 0},
+                {CAPABILITY_TYPE_PRESENCE_UCE, REGISTRATION_TECH_CROSS_SIM, 0},
+                {CAPABILITY_TYPE_PRESENCE_UCE, REGISTRATION_TECH_NR, 0}
+        };
+
+        boolean provisionedFirst;
+        boolean provisionedSecond;
+        int capability = CAPABILITY_TYPE_PRESENCE_UCE;
+
+        // get provisioning status
+        provisionedFirst = mTestImsProvisioningController
+                .getRcsProvisioningStatusForCapability(mSubId0, capability, REGISTRATION_TECH_LTE);
+
+        // verify return value default false - not provisioned
+        assertEquals(false, provisionedFirst);
+
+        mTestImsProvisioningController.setRcsProvisioningStatusForCapability(
+                mSubId0, capability, REGISTRATION_TECH_LTE, !provisionedFirst);
+        processAllMessages();
+
+        provisionedSecond = mTestImsProvisioningController
+                .getRcsProvisioningStatusForCapability(mSubId0, capability, REGISTRATION_TECH_LTE);
+
+        // verify return value default false - provisioned
+        assertEquals(!provisionedFirst, provisionedSecond);
+
+        // verify whether ImsProvisioningLoader is called or not
+        verify(mImsProvisioningLoader, times(2)).getProvisioningStatus(
+                eq(mSubId0), eq(FEATURE_RCS), eq(capability), eq(REGISTRATION_TECH_LTE));
+        // verify setProvisioningStatus is called RADIO_TECHS.length times for all tech or not
+        verify(mImsProvisioningLoader, times(1)).setProvisioningStatus(
+                eq(mSubId0), eq(FEATURE_RCS), eq(capability), anyInt(), eq(provisionedSecond));
+
+        // verify whether Callback is called RADIO_TECHS.length times for all tech or not
+        verify(mIFeatureProvisioningCallback0, times(1))
+                .onRcsFeatureProvisioningChanged(eq(capability), eq(REGISTRATION_TECH_LTE),
+                        eq(provisionedSecond));
+
+        // verify whether ImsConfig is called or not
+        // EAB provisioning status should be updated to both the Rcs and MmTel ImsService
+        verify(mImsConfig, times(2)).setConfig(
+                eq(KEY_EAB_PROVISIONING_STATUS), eq(PROVISIONING_VALUE_ENABLED));
+
+        // verify reset
+        clearInvocations(mImsProvisioningLoader);
+
+        // only CAPABILITY_TYPE_PRESENCE_UCE, REGISTRATION_TECH_LTE - provisioned
+        boolean[] expected = {true, false, false, false};
+        for (int i = 0; i < RADIO_TECHS.length; i++) {
+            provisionedSecond = mTestImsProvisioningController
+                    .getRcsProvisioningStatusForCapability(mSubId0, capability, RADIO_TECHS[i]);
+
+            // verify return value
+            assertEquals(expected[i], provisionedSecond);
+
+            // verify whether ImsProvisioningLoader is called or not
+            verify(mImsProvisioningLoader, times(1)).getProvisioningStatus(
+                    eq(mSubId0), eq(FEATURE_RCS), eq(capability), eq(RADIO_TECHS[i]));
+        }
+
+        verifyNoMoreInteractions(mIFeatureProvisioningCallback0);
+        verifyNoMoreInteractions(mIFeatureProvisioningCallback1);
+        verifyNoMoreInteractions(mImsConfig);
+        verifyNoMoreInteractions(mImsProvisioningLoader);
+    }
+
+    @Test
+    @SmallTest
+    public void setProvisioningValue_withMmTelKey() throws Exception {
+        createImsProvisioningController();
+
+        mMmTelConnectorListener0.getValue().connectionReady(mImsManager, mSubId0);
+        processAllMessages();
+
+        // add callback with valid obj
+        mTestImsProvisioningController.addFeatureProvisioningChangedCallback(
+                mSubId0, mIFeatureProvisioningCallback0);
+        mTestImsProvisioningController.addFeatureProvisioningChangedCallback(
+                mSubId1, mIFeatureProvisioningCallback1);
+
+        clearInvocations(mIFeatureProvisioningCallback0);
+        clearInvocations(mIFeatureProvisioningCallback1);
+        clearInvocations(mImsConfig);
+        clearInvocations(mImsProvisioningLoader);
+
+        // provisioning required capability
+        // voice, all tech
+        // video, all tech
+        setCarrierConfig(mSubId0, CarrierConfigManager.Ims.KEY_CAPABILITY_TYPE_VIDEO_INT_ARRAY,
+                RADIO_TECHS);
+        setCarrierConfig(mSubId0, CarrierConfigManager.Ims.KEY_CAPABILITY_TYPE_VIDEO_INT_ARRAY,
+                RADIO_TECHS);
+
+        // provisioning Status, all of provisioning status is not set
+        mMmTelProvisioningStorage = new int[][] {
+                {CAPABILITY_TYPE_VOICE, REGISTRATION_TECH_LTE, -1},
+                {CAPABILITY_TYPE_VOICE, REGISTRATION_TECH_IWLAN, -1},
+                {CAPABILITY_TYPE_VOICE, REGISTRATION_TECH_CROSS_SIM, -1},
+                {CAPABILITY_TYPE_VOICE, REGISTRATION_TECH_NR, -1},
+                {CAPABILITY_TYPE_VIDEO, REGISTRATION_TECH_LTE, -1},
+                {CAPABILITY_TYPE_VIDEO, REGISTRATION_TECH_IWLAN, -1},
+                {CAPABILITY_TYPE_VIDEO, REGISTRATION_TECH_CROSS_SIM, -1},
+                {CAPABILITY_TYPE_VIDEO, REGISTRATION_TECH_NR, -1}
+        };
+
+        // MmTel valid
+        int[] keys = {
+                ProvisioningManager.KEY_VOLTE_PROVISIONING_STATUS,
+                ProvisioningManager.KEY_VT_PROVISIONING_STATUS,
+                ProvisioningManager.KEY_VOICE_OVER_WIFI_ENABLED_OVERRIDE
+        };
+        int[] capas = {
+                MmTelCapabilities.CAPABILITY_TYPE_VOICE,
+                MmTelCapabilities.CAPABILITY_TYPE_VIDEO,
+                MmTelCapabilities.CAPABILITY_TYPE_VOICE
+        };
+        int[] techs = {
+                ImsRegistrationImplBase.REGISTRATION_TECH_LTE,
+                ImsRegistrationImplBase.REGISTRATION_TECH_LTE,
+                ImsRegistrationImplBase.REGISTRATION_TECH_IWLAN
+        };
+
+        int result;
+        for (int i = 0; i < keys.length; i++) {
+            clearInvocations(mIFeatureProvisioningCallback0);
+            result = mTestImsProvisioningController.setProvisioningValue(
+                    mSubId0, keys[i], PROVISIONING_VALUE_ENABLED);
+            processAllMessages();
+
+            // check return value
+            assertEquals(ImsConfig.OperationStatusConstants.SUCCESS, result);
+
+            // check whether to save
+            verify(mImsProvisioningLoader, times(1)).setProvisioningStatus(
+                    eq(mSubId0), eq(FEATURE_MMTEL), eq(capas[i]), eq(techs[i]), eq(true));
+
+            verify(mIFeatureProvisioningCallback0, times(1))
+                    .onFeatureProvisioningChanged(eq(capas[i]), eq(techs[i]), eq(true));
+
+            verify(mImsConfig, times(1)).setConfig(eq(keys[i]), eq(PROVISIONING_VALUE_ENABLED));
+        }
+
+        verifyNoMoreInteractions(mIFeatureProvisioningCallback0);
+        verifyNoMoreInteractions(mIFeatureProvisioningCallback1);
+        verifyNoMoreInteractions(mImsConfig);
+        verifyNoMoreInteractions(mImsProvisioningLoader);
+    }
+
+    @Test
+    @SmallTest
+    public void setProvisioningValue_withRcsKey() throws Exception {
+        createImsProvisioningController();
+
+        mMmTelConnectorListener0.getValue().connectionReady(mImsManager, mSubId0);
+        mRcsConnectorListener0.getValue().connectionReady(mRcsFeatureManager, mSubId0);
+        processAllMessages();
+
+        // add callback with valid obj
+        mTestImsProvisioningController.addFeatureProvisioningChangedCallback(
+                mSubId0, mIFeatureProvisioningCallback0);
+        mTestImsProvisioningController.addFeatureProvisioningChangedCallback(
+                mSubId1, mIFeatureProvisioningCallback1);
+
+        clearInvocations(mIFeatureProvisioningCallback0);
+        clearInvocations(mIFeatureProvisioningCallback1);
+        clearInvocations(mImsConfig);
+        clearInvocations(mImsProvisioningLoader);
+
+        // provisioning required capability
+        // presence, all tech
+        setCarrierConfig(mSubId0,
+                CarrierConfigManager.Ims.KEY_CAPABILITY_TYPE_PRESENCE_UCE_INT_ARRAY, RADIO_TECHS);
+
+        // provisioning Status, all of provisioning status is not set
+        mRcsProvisioningStorage = new int[][]{
+                {CAPABILITY_TYPE_PRESENCE_UCE, REGISTRATION_TECH_LTE, -1},
+                {CAPABILITY_TYPE_PRESENCE_UCE, REGISTRATION_TECH_IWLAN, -1},
+                {CAPABILITY_TYPE_PRESENCE_UCE, REGISTRATION_TECH_CROSS_SIM, -1},
+                {CAPABILITY_TYPE_PRESENCE_UCE, REGISTRATION_TECH_NR, -1}
+        };
+
+        int key = KEY_EAB_PROVISIONING_STATUS;
+        int capa = CAPABILITY_TYPE_PRESENCE_UCE;
+
+        int result = mTestImsProvisioningController.setProvisioningValue(
+                    mSubId0, key, PROVISIONING_VALUE_ENABLED);
+        processAllMessages();
+
+        // check return value
+        assertEquals(ImsConfig.OperationStatusConstants.SUCCESS, result);
+
+        // check to save, for all techs 4 times
+        verify(mImsProvisioningLoader, times(RADIO_TECHS.length)).setProvisioningStatus(
+                eq(mSubId0), eq(FEATURE_RCS), eq(capa), anyInt(), eq(true));
+
+        verify(mIFeatureProvisioningCallback0, times(RADIO_TECHS.length))
+                .onRcsFeatureProvisioningChanged(eq(capa), anyInt(), eq(true));
+
+        // verify whether ImsConfig is called or not
+        // EAB provisioning status should be updated to both the Rcs and MmTel ImsService
+        verify(mImsConfig, times(2)).setConfig(eq(key), eq(PROVISIONING_VALUE_ENABLED));
+
+        verifyNoMoreInteractions(mIFeatureProvisioningCallback0);
+        verifyNoMoreInteractions(mIFeatureProvisioningCallback1);
+        verifyNoMoreInteractions(mImsConfig);
+        verifyNoMoreInteractions(mImsProvisioningLoader);
+    }
+
+    @Test
+    @SmallTest
+    public void setProvisioningValue_withInvalidKey() throws Exception {
+        createImsProvisioningController();
+
+        mMmTelConnectorListener0.getValue().connectionReady(mImsManager, mSubId0);
+        mRcsConnectorListener0.getValue().connectionReady(mRcsFeatureManager, mSubId0);
+        processAllMessages();
+
+        // add callback with valid obj
+        mTestImsProvisioningController.addFeatureProvisioningChangedCallback(
+                mSubId0, mIFeatureProvisioningCallback0);
+        mTestImsProvisioningController.addFeatureProvisioningChangedCallback(
+                mSubId1, mIFeatureProvisioningCallback1);
+
+        clearInvocations(mIFeatureProvisioningCallback0);
+        clearInvocations(mIFeatureProvisioningCallback1);
+        clearInvocations(mImsConfig);
+        clearInvocations(mImsProvisioningLoader);
+
+        // invalid key
+        int[] keys = {
+                ProvisioningManager.KEY_SIP_SESSION_TIMER_SEC,
+                ProvisioningManager.KEY_MINIMUM_SIP_SESSION_EXPIRATION_TIMER_SEC,
+                ProvisioningManager.KEY_TF_TIMER_VALUE_MS
+        };
+        for (int key : keys) {
+            int result = mTestImsProvisioningController.setProvisioningValue(
+                    mSubId0, key, PROVISIONING_VALUE_ENABLED);
+            processAllMessages();
+
+            // check return value
+            assertEquals(ImsConfigImplBase.CONFIG_RESULT_UNKNOWN, result);
+        }
+
+        verifyNoMoreInteractions(mIFeatureProvisioningCallback0);
+        verifyNoMoreInteractions(mIFeatureProvisioningCallback1);
+        verifyNoMoreInteractions(mImsConfig);
+        verifyNoMoreInteractions(mImsProvisioningLoader);
+    }
+
+    @Test
+    @SmallTest
+    public void getProvisioningValue_withValidKey() throws Exception {
+        createImsProvisioningController();
+
+        mMmTelConnectorListener0.getValue().connectionReady(mImsManager, mSubId0);
+        mRcsConnectorListener0.getValue().connectionReady(mRcsFeatureManager, mSubId0);
+        processAllMessages();
+
+        // add callback with valid obj
+        mTestImsProvisioningController.addFeatureProvisioningChangedCallback(
+                mSubId0, mIFeatureProvisioningCallback0);
+        mTestImsProvisioningController.addFeatureProvisioningChangedCallback(
+                mSubId1, mIFeatureProvisioningCallback1);
+
+        clearInvocations(mIFeatureProvisioningCallback0);
+        clearInvocations(mIFeatureProvisioningCallback1);
+        clearInvocations(mImsConfig);
+        clearInvocations(mImsProvisioningLoader);
+
+        // provisioning required capability
+        // voice, LTE, IWLAN
+        // video, LTE
+        setCarrierConfig(mSubId0, CarrierConfigManager.Ims.KEY_CAPABILITY_TYPE_VOICE_INT_ARRAY,
+                REGISTRATION_TECH_LTE, REGISTRATION_TECH_IWLAN);
+        setCarrierConfig(mSubId0, CarrierConfigManager.Ims.KEY_CAPABILITY_TYPE_VIDEO_INT_ARRAY,
+                REGISTRATION_TECH_LTE);
+
+        // provisioning Status, all of provisioning status is not set
+        mMmTelProvisioningStorage = new int[][] {
+                {CAPABILITY_TYPE_VOICE, REGISTRATION_TECH_LTE, 1},
+                {CAPABILITY_TYPE_VOICE, REGISTRATION_TECH_IWLAN, 1},
+                {CAPABILITY_TYPE_VIDEO, REGISTRATION_TECH_LTE, 1}
+        };
+
+        // provisioning required capability
+        // presence, all tech
+        setCarrierConfig(mSubId0,
+                CarrierConfigManager.Ims.KEY_CAPABILITY_TYPE_PRESENCE_UCE_INT_ARRAY, RADIO_TECHS);
+
+        // provisioning Status, all of provisioning status is not set
+        mRcsProvisioningStorage = new int[][]{
+                {CAPABILITY_TYPE_PRESENCE_UCE, REGISTRATION_TECH_LTE, 1},
+                {CAPABILITY_TYPE_PRESENCE_UCE, REGISTRATION_TECH_IWLAN, 1},
+                {CAPABILITY_TYPE_PRESENCE_UCE, REGISTRATION_TECH_CROSS_SIM, 1},
+                {CAPABILITY_TYPE_PRESENCE_UCE, REGISTRATION_TECH_NR, 1}
+        };
+
+        // MmTel keys
+        int[] keys = {
+                KEY_VOLTE_PROVISIONING_STATUS,
+                KEY_VT_PROVISIONING_STATUS,
+                KEY_VOICE_OVER_WIFI_ENABLED_OVERRIDE,
+        };
+        int[] capas = {
+                CAPABILITY_TYPE_VOICE,
+                CAPABILITY_TYPE_VIDEO,
+                CAPABILITY_TYPE_VOICE
+        };
+        int[] techs = {
+                REGISTRATION_TECH_LTE,
+                REGISTRATION_TECH_LTE,
+                REGISTRATION_TECH_IWLAN
+        };
+        for (int i = 0; i < keys.length; i++) {
+            int result = mTestImsProvisioningController.getProvisioningValue(mSubId0, keys[i]);
+            processAllMessages();
+
+            // check return value
+            assertEquals(PROVISIONING_VALUE_ENABLED, result);
+
+            // verify whether ImsProvisioningLoader is called or not
+            verify(mImsProvisioningLoader, times(1)).getProvisioningStatus(eq(mSubId0),
+                    eq(FEATURE_MMTEL), eq(capas[i]), eq(techs[i]));
+        }
+        clearInvocations(mImsProvisioningLoader);
+
+        // Rcs keys
+        int key = KEY_EAB_PROVISIONING_STATUS;
+        int capa = CAPABILITY_TYPE_PRESENCE_UCE;
+
+        int result = mTestImsProvisioningController.getProvisioningValue(mSubId0, key);
+        processAllMessages();
+
+        // check return value
+        assertEquals(PROVISIONING_VALUE_ENABLED, result);
+
+        // verify whether ImsProvisioningLoader is called or not
+        verify(mImsProvisioningLoader, times(1)).getProvisioningStatus(
+                eq(mSubId0), eq(FEATURE_RCS), eq(capa), anyInt());
+
+        verifyNoMoreInteractions(mIFeatureProvisioningCallback0);
+        verifyNoMoreInteractions(mIFeatureProvisioningCallback1);
+        verifyNoMoreInteractions(mImsConfig);
+        verifyNoMoreInteractions(mImsProvisioningLoader);
+    }
+
+    @Test
+    @SmallTest
+    public void getProvisioningValue_withNotSet() throws Exception {
+        createImsProvisioningController();
+
+        mMmTelConnectorListener0.getValue().connectionReady(mImsManager, mSubId0);
+        mRcsConnectorListener0.getValue().connectionReady(mRcsFeatureManager, mSubId0);
+        processAllMessages();
+
+        // add callback with valid obj
+        mTestImsProvisioningController.addFeatureProvisioningChangedCallback(
+                mSubId0, mIFeatureProvisioningCallback0);
+        mTestImsProvisioningController.addFeatureProvisioningChangedCallback(
+                mSubId1, mIFeatureProvisioningCallback1);
+
+        clearInvocations(mIFeatureProvisioningCallback0);
+        clearInvocations(mIFeatureProvisioningCallback1);
+        clearInvocations(mImsConfig);
+        clearInvocations(mImsProvisioningLoader);
+
+        // provisioning required capability
+        // voice, LTE, IWLAN
+        // video, LTE
+        setCarrierConfig(mSubId0, CarrierConfigManager.Ims.KEY_CAPABILITY_TYPE_VOICE_INT_ARRAY,
+                REGISTRATION_TECH_LTE, REGISTRATION_TECH_IWLAN);
+        setCarrierConfig(mSubId0, CarrierConfigManager.Ims.KEY_CAPABILITY_TYPE_VIDEO_INT_ARRAY,
+                REGISTRATION_TECH_LTE);
+
+        // provisioning Status, all of provisioning status is not set
+        mMmTelProvisioningStorage = new int[][] {
+                {CAPABILITY_TYPE_VOICE, REGISTRATION_TECH_LTE, -1},
+                {CAPABILITY_TYPE_VOICE, REGISTRATION_TECH_IWLAN, -1},
+                {CAPABILITY_TYPE_VIDEO, REGISTRATION_TECH_LTE, -1}
+        };
+
+        // provisioning required capability
+        // presence, all tech
+        setCarrierConfig(mSubId0,
+                CarrierConfigManager.Ims.KEY_CAPABILITY_TYPE_PRESENCE_UCE_INT_ARRAY, RADIO_TECHS);
+
+        // provisioning Status, all of provisioning status is not set
+        mRcsProvisioningStorage = new int[][]{
+                {CAPABILITY_TYPE_PRESENCE_UCE, REGISTRATION_TECH_LTE, -1},
+                {CAPABILITY_TYPE_PRESENCE_UCE, REGISTRATION_TECH_IWLAN, -1},
+                {CAPABILITY_TYPE_PRESENCE_UCE, REGISTRATION_TECH_CROSS_SIM, -1},
+                {CAPABILITY_TYPE_PRESENCE_UCE, REGISTRATION_TECH_NR, -1}
+        };
+        // provisioning status in ImsService
+        mImsConfigStorage = new int[][] {
+                {KEY_VOLTE_PROVISIONING_STATUS, 1},
+                {KEY_VT_PROVISIONING_STATUS, 1},
+                {KEY_VOICE_OVER_WIFI_ENABLED_OVERRIDE, 1},
+                {KEY_EAB_PROVISIONING_STATUS, 1}
+        };
+
+        // MmTel keys
+        int[] keys = {
+                KEY_VOLTE_PROVISIONING_STATUS,
+                KEY_VT_PROVISIONING_STATUS,
+                KEY_VOICE_OVER_WIFI_ENABLED_OVERRIDE,
+        };
+        int[] capas = {
+                CAPABILITY_TYPE_VOICE,
+                CAPABILITY_TYPE_VIDEO,
+                CAPABILITY_TYPE_VOICE
+        };
+        int[] techs = {
+                REGISTRATION_TECH_LTE,
+                REGISTRATION_TECH_LTE,
+                REGISTRATION_TECH_IWLAN
+        };
+        for (int i = 0; i < keys.length; i++) {
+            int result = mTestImsProvisioningController.getProvisioningValue(mSubId0, keys[i]);
+            processAllMessages();
+
+            // check return value
+            assertEquals(PROVISIONING_VALUE_ENABLED, result);
+
+            // verify whether ImsProvisioningLoader is called or not
+            verify(mImsProvisioningLoader, times(1)).getProvisioningStatus(eq(mSubId0),
+                    eq(FEATURE_MMTEL), eq(capas[i]), eq(techs[i]));
+
+            // verify whether ImsConfig is called or not
+            verify(mImsConfig, times(1)).getConfigInt(eq(keys[i]));
+
+            // verify whether ImsProvisioningLoader is called or not
+            verify(mImsProvisioningLoader, times(1)).setProvisioningStatus(eq(mSubId0),
+                    eq(FEATURE_MMTEL), eq(capas[i]), eq(techs[i]), eq(true));
+
+            // verify whether callback is called or not
+            verify(mIFeatureProvisioningCallback0, times(1)).onFeatureProvisioningChanged(
+                    eq(capas[i]), eq(techs[i]), eq(true));
+        }
+        clearInvocations(mImsConfig);
+        clearInvocations(mImsProvisioningLoader);
+
+        // Rcs keys
+        int key = KEY_EAB_PROVISIONING_STATUS;
+        int capa = CAPABILITY_TYPE_PRESENCE_UCE;
+
+        int result = mTestImsProvisioningController.getProvisioningValue(mSubId0, key);
+        processAllMessages();
+
+        // check return value
+        assertEquals(PROVISIONING_VALUE_ENABLED, result);
+
+        // verify whether ImsProvisioningLoader is called or not
+        verify(mImsProvisioningLoader, times(1)).getProvisioningStatus(
+                eq(mSubId0), eq(FEATURE_RCS), eq(capa), anyInt());
+
+        // verify whether ImsConfig is called or not
+        verify(mImsConfig, times(1)).getConfigInt(eq(key));
+
+        // verify whether ImsProvisioningLoader is called or not
+        verify(mImsProvisioningLoader, times(RADIO_TECHS.length)).setProvisioningStatus(
+                eq(mSubId0), eq(FEATURE_RCS), eq(capa), anyInt(), eq(true));
+
+        // verify whether callback is called or not
+        verify(mIFeatureProvisioningCallback0, times(RADIO_TECHS.length))
+                .onRcsFeatureProvisioningChanged(eq(capa), anyInt(), eq(true));
+
+        verifyNoMoreInteractions(mIFeatureProvisioningCallback0);
+        verifyNoMoreInteractions(mIFeatureProvisioningCallback1);
+        verifyNoMoreInteractions(mImsConfig);
+        verifyNoMoreInteractions(mImsProvisioningLoader);
+    }
+
+    @Test
+    @SmallTest
+    public void onMultiSimConfigChanged() throws Exception {
+        createImsProvisioningController();
+
+        // provisioning required capability
+        // voice, all tech
+        // video, all tech
+        setCarrierConfig(mSubId0, CarrierConfigManager.Ims.KEY_CAPABILITY_TYPE_VOICE_INT_ARRAY,
+                RADIO_TECHS);
+        setCarrierConfig(mSubId0, CarrierConfigManager.Ims.KEY_CAPABILITY_TYPE_VIDEO_INT_ARRAY,
+                RADIO_TECHS);
+
+        // change number of slot 2 -> 1
+        mHandler.sendMessage(mHandler.obtainMessage(
+                mTestImsProvisioningController.EVENT_MULTI_SIM_CONFIGURATION_CHANGE,
+                0, 0, (Object) new AsyncResult(null, 1, null)));
+        processAllMessages();
+
+        // add callback with mSubId0, mPhoneId0 : Ok.
+        try {
+            mTestImsProvisioningController.addFeatureProvisioningChangedCallback(
+                    mSubId0, mIFeatureProvisioningCallback0);
+        } catch (Exception e) {
+            throw new AssertionError("not expected exception", e);
+        }
+
+        // add callbacks with new mSubId1, mPhoneId1 : IllegalArgumentException.
+        try {
+            mTestImsProvisioningController.addFeatureProvisioningChangedCallback(
+                    mSubId1, mIFeatureProvisioningCallback1);
+        } catch (IllegalArgumentException e) {
+            // expected result
+        } catch (Exception e) {
+            throw new AssertionError("not expected exception", e);
+        }
+        // check isImsProvisioningRequiredForCapability with mSubId1 : IllegalArgumentException
+        try {
+            mTestImsProvisioningController.isImsProvisioningRequiredForCapability(
+                    mSubId1, CAPABILITY_TYPE_VOICE, REGISTRATION_TECH_LTE);
+        } catch (IllegalArgumentException e) {
+            // expected result
+        } catch (Exception e) {
+            throw new AssertionError("not expected exception", e);
+        }
+        clearInvocations(mIFeatureProvisioningCallback0);
+        clearInvocations(mIFeatureProvisioningCallback1);
+
+        // change number of slot 1 -> 2
+        mHandler.sendMessage(mHandler.obtainMessage(
+                mTestImsProvisioningController.EVENT_MULTI_SIM_CONFIGURATION_CHANGE,
+                0, 0, (Object) new AsyncResult(null, 2, null)));
+        processAllMessages();
+
+        // add callback with mSubId0, mPhoneId0 : Ok.
+        try {
+            mTestImsProvisioningController.addFeatureProvisioningChangedCallback(
+                    mSubId0, mIFeatureProvisioningCallback0);
+        } catch (Exception e) {
+            throw new AssertionError("not expected exception", e);
+        }
+
+        // add callbacks with new mSubId1, mPhoneId1 : Ok.
+        try {
+            mTestImsProvisioningController.addFeatureProvisioningChangedCallback(
+                    mSubId1, mIFeatureProvisioningCallback1);
+        } catch (Exception e) {
+            throw new AssertionError("not expected exception", e);
+        }
+        clearInvocations(mIFeatureProvisioningCallback0);
+        clearInvocations(mIFeatureProvisioningCallback1);
+
+        // provisioning required capability
+        // voice, all tech
+        setCarrierConfig(mSubId1, CarrierConfigManager.Ims.KEY_CAPABILITY_TYPE_VOICE_INT_ARRAY,
+                RADIO_TECHS);
+
+        // check get,setImsProvisioningRequiredForCapability with mSubId1, mPhoneId1 : Ok
+        int capability = CAPABILITY_TYPE_VOICE;
+        int tech = REGISTRATION_TECH_LTE;
+        boolean provisioned;
+        provisioned = mTestImsProvisioningController.getImsProvisioningStatusForCapability(
+                mSubId1, capability, tech);
+        mTestImsProvisioningController.setImsProvisioningStatusForCapability(mSubId1,
+                capability, tech, !provisioned);
+        processAllMessages();
+
+        // verify whether Callback is called or not
+        verify(mIFeatureProvisioningCallback1, times(1))
+                .onFeatureProvisioningChanged(eq(capability), eq(tech), eq(!provisioned));
+
+        clearInvocations(mIFeatureProvisioningCallback0);
+        clearInvocations(mIFeatureProvisioningCallback1);
+        clearInvocations(mImsConfig);
+    }
+
+    @Test
+    @SmallTest
+    public void eabProvisioningStatus_onlyMmTelConnectionReady() throws Exception {
+        createImsProvisioningController();
+
+        mMmTelConnectorListener0.getValue().connectionReady(mImsManager, mSubId0);
+        processAllMessages();
+
+        // add callback with valid obj
+        mTestImsProvisioningController.addFeatureProvisioningChangedCallback(
+                mSubId0, mIFeatureProvisioningCallback0);
+
+        clearInvocations(mIFeatureProvisioningCallback0);
+        clearInvocations(mImsConfig);
+        clearInvocations(mImsProvisioningLoader);
+
+        // provisioning required capability
+        // presence, all tech
+        setCarrierConfig(mSubId0,
+                CarrierConfigManager.Ims.KEY_CAPABILITY_TYPE_PRESENCE_UCE_INT_ARRAY, RADIO_TECHS);
+
+        // provisioning Status, all of provisioning status is not set
+        mRcsProvisioningStorage = new int[][]{
+                {CAPABILITY_TYPE_PRESENCE_UCE, REGISTRATION_TECH_LTE, -1},
+                {CAPABILITY_TYPE_PRESENCE_UCE, REGISTRATION_TECH_IWLAN, -1},
+                {CAPABILITY_TYPE_PRESENCE_UCE, REGISTRATION_TECH_CROSS_SIM, -1},
+                {CAPABILITY_TYPE_PRESENCE_UCE, REGISTRATION_TECH_NR, -1}
+        };
+
+        // provisioning status in ImsService
+        mImsConfigStorage = new int[][] {
+                {KEY_EAB_PROVISIONING_STATUS, 1}
+        };
+
+        // Rcs keys
+        int key = KEY_EAB_PROVISIONING_STATUS;
+        int capa = CAPABILITY_TYPE_PRESENCE_UCE;
+        int tech = REGISTRATION_TECH_LTE;
+
+        int result = mTestImsProvisioningController.getProvisioningValue(mSubId0, key);
+        processAllMessages();
+
+        // check return value
+        assertEquals(PROVISIONING_VALUE_ENABLED, result);
+
+        // verify whether ImsProvisioningLoader is called or not
+        verify(mImsProvisioningLoader, times(1)).getProvisioningStatus(
+                eq(mSubId0), eq(FEATURE_RCS), eq(capa), anyInt());
+
+        // even if ImsConfig is not available in RcsFeatureListener, ImsConfig in
+        // MmTelFeatureListener will be called.
+        verify(mImsConfig, times(1)).getConfigInt(
+                eq(KEY_EAB_PROVISIONING_STATUS));
+
+        // verify whether ImsProvisioningLoader is called or not
+        verify(mImsProvisioningLoader, times(RADIO_TECHS.length)).setProvisioningStatus(
+                eq(mSubId0), eq(FEATURE_RCS), eq(capa), anyInt(), eq(true));
+
+        verifyNoMoreInteractions(mImsConfig);
+        verifyNoMoreInteractions(mImsProvisioningLoader);
+
+        clearInvocations(mImsConfig);
+        clearInvocations(mImsProvisioningLoader);
+
+        mTestImsProvisioningController.setProvisioningValue(mSubId0, key,
+                PROVISIONING_VALUE_DISABLED);
+        processAllMessages();
+
+        // verify whether ImsProvisioningLoader is called or not
+        verify(mImsProvisioningLoader, times(RADIO_TECHS.length)).setProvisioningStatus(
+                eq(mSubId0), eq(FEATURE_RCS), eq(capa), anyInt(), eq(false));
+
+        // even if ImsConfig is not available in RcsFeatureListener, ImsConfig in
+        // MmTelFeatureListener will be called.
+        verify(mImsConfig, times(1)).setConfig(
+                eq(KEY_EAB_PROVISIONING_STATUS), eq(PROVISIONING_VALUE_DISABLED));
+
+        verifyNoMoreInteractions(mImsConfig);
+        verifyNoMoreInteractions(mImsProvisioningLoader);
+
+        clearInvocations(mImsConfig);
+        clearInvocations(mImsProvisioningLoader);
+
+        // reset provisioning status, all of provisioning status is not set
+        mRcsProvisioningStorage = new int[][]{
+                {CAPABILITY_TYPE_PRESENCE_UCE, REGISTRATION_TECH_LTE, -1},
+                {CAPABILITY_TYPE_PRESENCE_UCE, REGISTRATION_TECH_IWLAN, -1},
+                {CAPABILITY_TYPE_PRESENCE_UCE, REGISTRATION_TECH_CROSS_SIM, -1},
+                {CAPABILITY_TYPE_PRESENCE_UCE, REGISTRATION_TECH_NR, -1}
+        };
+
+        // reset provisioning status in ImsService
+        mImsConfigStorage = new int[][] {
+                {KEY_EAB_PROVISIONING_STATUS, 1}
+        };
+
+        boolean expected = true;
+        boolean provisioned = mTestImsProvisioningController.getRcsProvisioningStatusForCapability(
+                mSubId0, capa, tech);
+        processAllMessages();
+
+        assertEquals(expected, provisioned);
+
+        // verify whether ImsProvisioningLoader is called or not
+        verify(mImsProvisioningLoader, times(1)).getProvisioningStatus(
+                eq(mSubId0), eq(FEATURE_RCS), eq(capa), eq(tech));
+
+        // even if ImsConfig is not available in RcsFeatureListener, ImsConfig in
+        // MmTelFeatureListener will be called.
+        verify(mImsConfig, times(1)).getConfigInt(
+                eq(KEY_EAB_PROVISIONING_STATUS));
+
+        // verify whether ImsProvisioningLoader is called or not
+        verify(mImsProvisioningLoader, times(RADIO_TECHS.length)).setProvisioningStatus(
+                eq(mSubId0), eq(FEATURE_RCS), eq(capa), anyInt(), eq(true));
+
+        verifyNoMoreInteractions(mImsConfig);
+        verifyNoMoreInteractions(mImsProvisioningLoader);
+
+        clearInvocations(mImsConfig);
+        clearInvocations(mImsProvisioningLoader);
+
+        mTestImsProvisioningController.setRcsProvisioningStatusForCapability(
+                mSubId0, capa, tech, !expected);
+        processAllMessages();
+
+        // verify whether ImsProvisioningLoader is called or not
+        verify(mImsProvisioningLoader, times(1)).setProvisioningStatus(
+                eq(mSubId0), eq(FEATURE_RCS), eq(capa), eq(tech), eq(!expected));
+
+        // even if ImsConfig is not available in RcsFeatureListener, ImsConfig in
+        // MmTelFeatureListener will be called.
+        verify(mImsConfig, times(1)).setConfig(
+                eq(KEY_EAB_PROVISIONING_STATUS), eq(PROVISIONING_VALUE_DISABLED));
+
+        verifyNoMoreInteractions(mImsConfig);
+        verifyNoMoreInteractions(mImsProvisioningLoader);
+    }
+
+    private void createImsProvisioningController() throws Exception {
+        if (Looper.myLooper() == null) {
+            Looper.prepare();
+        }
+
+        when(mMmTelFeatureConnector
+                .create(any(), eq(0), any(), mMmTelConnectorListener0.capture(), any()))
+                .thenReturn(mMmTelFeatureConnector0);
+        when(mMmTelFeatureConnector
+                .create(any(), eq(1), any(), mMmTelConnectorListener1.capture(), any()))
+                .thenReturn(mMmTelFeatureConnector1);
+
+        when(mRcsFeatureConnector
+                .create(any(), eq(0), mRcsConnectorListener0.capture(), any(), any()))
+                .thenReturn(mRcsFeatureConnector0);
+        when(mRcsFeatureConnector
+                .create(any(), eq(1), mRcsConnectorListener1.capture(), any(), any()))
+                .thenReturn(mRcsFeatureConnector1);
+
+        when(mImsConfig.getConfigInt(anyInt()))
+                .thenAnswer(invocation -> {
+                    int i = (Integer) (invocation.getArguments()[0]);
+                    return getImsConfigValue(i);
+                });
+        when(mImsConfig.setConfig(anyInt(), anyInt()))
+                .thenAnswer(invocation -> {
+                    int i = (Integer) (invocation.getArguments()[0]);
+                    int j = (Integer) (invocation.getArguments()[1]);
+                    return setImsConfigValue(i, j);
+                });
+
+        when(mImsProvisioningLoader.getProvisioningStatus(anyInt(), eq(FEATURE_MMTEL), anyInt(),
+                anyInt()))
+                .thenAnswer(invocation -> {
+                    int i = (Integer) (invocation.getArguments()[2]);
+                    int j = (Integer) (invocation.getArguments()[3]);
+                    return getProvisionedValue(i, j);
+                });
+        when(mImsProvisioningLoader.getProvisioningStatus(anyInt(), eq(FEATURE_RCS), anyInt(),
+                anyInt()))
+                .thenAnswer(invocation -> {
+                    int i = (Integer) (invocation.getArguments()[2]);
+                    int j = (Integer) (invocation.getArguments()[3]);
+                    return getRcsProvisionedValue(i, j);
+                });
+        when(mImsProvisioningLoader
+                .setProvisioningStatus(anyInt(), eq(FEATURE_MMTEL), anyInt(), anyInt(),
+                        anyBoolean()))
+                .thenAnswer(invocation -> {
+                    int i = (Integer) (invocation.getArguments()[2]);
+                    int j = (Integer) (invocation.getArguments()[3]);
+                    int k = (Boolean) (invocation.getArguments()[4]) ? 1 : 0;
+                    return setProvisionedValue(i, j, k);
+                });
+        when(mImsProvisioningLoader
+                .setProvisioningStatus(anyInt(), eq(FEATURE_RCS), anyInt(), anyInt(),
+                        anyBoolean()))
+                .thenAnswer(invocation -> {
+                    int i = (Integer) (invocation.getArguments()[2]);
+                    int j = (Integer) (invocation.getArguments()[3]);
+                    int k = (Boolean) (invocation.getArguments()[4]) ? 1 : 0;
+                    return setRcsProvisionedValue(i, j, k);
+                });
+
+        when(mIFeatureProvisioningCallback0.asBinder()).thenReturn(mIbinder0);
+        when(mIFeatureProvisioningCallback1.asBinder()).thenReturn(mIbinder1);
+
+        doNothing().when(mIFeatureProvisioningCallback0)
+                .onFeatureProvisioningChanged(anyInt(), anyInt(), anyBoolean());
+        doNothing().when(mIFeatureProvisioningCallback0)
+                .onRcsFeatureProvisioningChanged(anyInt(), anyInt(), anyBoolean());
+        doNothing().when(mIFeatureProvisioningCallback1)
+                .onFeatureProvisioningChanged(anyInt(), anyInt(), anyBoolean());
+        doNothing().when(mIFeatureProvisioningCallback1)
+                .onRcsFeatureProvisioningChanged(anyInt(), anyInt(), anyBoolean());
+
+        mTestImsProvisioningController = new TestImsProvisioningController();
+
+        mHandler = mTestImsProvisioningController.getHandler();
+        try {
+            mLooper = new TestableLooper(mHandler.getLooper());
+        } catch (Exception e) {
+            logd("create looper from handler failed");
+        }
+
+        verify(mRcsFeatureConnector0, atLeastOnce()).connect();
+        verify(mMmTelFeatureConnector0, atLeastOnce()).connect();
+
+        verify(mRcsFeatureConnector1, atLeastOnce()).connect();
+        verify(mMmTelFeatureConnector1, atLeastOnce()).connect();
+    }
+
+    private void initializeDefaultData() throws Exception {
+        mPersistableBundle0.clear();
+        mPersistableBundle0.putPersistableBundle(
+                CarrierConfigManager.Ims.KEY_MMTEL_REQUIRES_PROVISIONING_BUNDLE,
+                new PersistableBundle());
+        mPersistableBundle0.putPersistableBundle(
+                CarrierConfigManager.Ims.KEY_RCS_REQUIRES_PROVISIONING_BUNDLE,
+                new PersistableBundle());
+
+        mPersistableBundle1.clear();
+        mPersistableBundle1.putPersistableBundle(
+                CarrierConfigManager.Ims.KEY_MMTEL_REQUIRES_PROVISIONING_BUNDLE,
+                new PersistableBundle());
+        mPersistableBundle1.putPersistableBundle(
+                CarrierConfigManager.Ims.KEY_RCS_REQUIRES_PROVISIONING_BUNDLE,
+                new PersistableBundle());
+
+        mMmTelProvisioningStorage = new int[][]{
+                {CAPABILITY_TYPE_VOICE, REGISTRATION_TECH_LTE, 1},
+                {CAPABILITY_TYPE_VOICE, REGISTRATION_TECH_IWLAN, 1},
+                {CAPABILITY_TYPE_VOICE, REGISTRATION_TECH_CROSS_SIM, 1},
+                {CAPABILITY_TYPE_VOICE, REGISTRATION_TECH_NR, 1},
+                {CAPABILITY_TYPE_VIDEO, REGISTRATION_TECH_LTE, 1},
+                {CAPABILITY_TYPE_VIDEO, REGISTRATION_TECH_IWLAN, 1},
+                {CAPABILITY_TYPE_VIDEO, REGISTRATION_TECH_CROSS_SIM, 1},
+                {CAPABILITY_TYPE_VIDEO, REGISTRATION_TECH_NR, 1},
+                {CAPABILITY_TYPE_UT, REGISTRATION_TECH_LTE, 1},
+                {CAPABILITY_TYPE_UT, REGISTRATION_TECH_IWLAN, 1},
+                {CAPABILITY_TYPE_UT, REGISTRATION_TECH_CROSS_SIM, 1},
+                {CAPABILITY_TYPE_UT, REGISTRATION_TECH_NR, 1},
+                {CAPABILITY_TYPE_SMS, REGISTRATION_TECH_LTE, 1},
+                {CAPABILITY_TYPE_SMS, REGISTRATION_TECH_IWLAN, 1},
+                {CAPABILITY_TYPE_SMS, REGISTRATION_TECH_CROSS_SIM, 1},
+                {CAPABILITY_TYPE_SMS, REGISTRATION_TECH_NR, 1},
+                {CAPABILITY_TYPE_CALL_COMPOSER, REGISTRATION_TECH_LTE, 1},
+                {CAPABILITY_TYPE_CALL_COMPOSER, REGISTRATION_TECH_IWLAN, 1},
+                {CAPABILITY_TYPE_CALL_COMPOSER, REGISTRATION_TECH_CROSS_SIM, 1},
+                {CAPABILITY_TYPE_CALL_COMPOSER, REGISTRATION_TECH_NR, 1}
+        };
+
+        mRcsProvisioningStorage = new int[][]{
+                {CAPABILITY_TYPE_PRESENCE_UCE, REGISTRATION_TECH_LTE, 1},
+                {CAPABILITY_TYPE_PRESENCE_UCE, REGISTRATION_TECH_IWLAN, 1},
+                {CAPABILITY_TYPE_PRESENCE_UCE, REGISTRATION_TECH_CROSS_SIM, 1},
+                {CAPABILITY_TYPE_PRESENCE_UCE, REGISTRATION_TECH_NR, 1}
+        };
+
+        mImsConfigStorage = new int[][] {
+                {KEY_VOLTE_PROVISIONING_STATUS, 1},
+                {KEY_VT_PROVISIONING_STATUS, 1},
+                {KEY_VOICE_OVER_WIFI_ENABLED_OVERRIDE, 1},
+                {KEY_EAB_PROVISIONING_STATUS, 1}
+        };
+    }
+
+    private void setCarrierConfig(int subId, String capabilityKey, int... techs) {
+        PersistableBundle imsCarrierConfig = mPersistableBundle0;
+        if (subId == mSubId1) {
+            imsCarrierConfig = mPersistableBundle1;
+        }
+
+        PersistableBundle requiredBundle;
+        if (capabilityKey.equals(
+                CarrierConfigManager.Ims.KEY_CAPABILITY_TYPE_PRESENCE_UCE_INT_ARRAY)) {
+            requiredBundle = imsCarrierConfig.getPersistableBundle(
+                    CarrierConfigManager.Ims.KEY_RCS_REQUIRES_PROVISIONING_BUNDLE);
+        } else {
+            requiredBundle = imsCarrierConfig.getPersistableBundle(
+                    CarrierConfigManager.Ims.KEY_MMTEL_REQUIRES_PROVISIONING_BUNDLE);
+        }
+
+        requiredBundle.putIntArray(capabilityKey, techs);
+    }
+
+    private void setDeprecatedCarrierConfig(String key, boolean value) {
+        mPersistableBundle0.putBoolean(key, value);
+    }
+
+    private int getProvisionedValue(int i, int j) {
+        for (int[] data : mMmTelProvisioningStorage) {
+            if (data[0] == i && data[1] == j) {
+                return data[2];
+            }
+        }
+        return 0;
+    }
+
+    private int getRcsProvisionedValue(int i, int j) {
+        for (int[] data : mRcsProvisioningStorage) {
+            if (data[0] == i && data[1] == j) {
+                return data[2];
+            }
+        }
+        return 0;
+    }
+
+    private boolean setProvisionedValue(int i, int j, int k) {
+        boolean retVal = false;
+        for (int[] data : mMmTelProvisioningStorage) {
+            if (data[0] == i && data[1] == j) {
+                if (data[2] != k) {
+                    data[2] = k;
+                    return true;
+                }
+                return false;
+            }
+        }
+        return retVal;
+    }
+
+    private boolean setRcsProvisionedValue(int i, int j, int k) {
+        boolean retVal = false;
+        for (int[] data : mRcsProvisioningStorage) {
+            if (data[0] == i && data[1] == j) {
+                if (data[2] != k) {
+                    data[2] = k;
+                    return true;
+                }
+                return false;
+            }
+        }
+        return retVal;
+    }
+
+    private int getImsConfigValue(int i) {
+        for (int[] data : mImsConfigStorage) {
+            if (data[0] == i) {
+                return data[1];
+            }
+        }
+        return -1;
+    }
+
+    private int setImsConfigValue(int i, int j) {
+        for (int[] data : mImsConfigStorage) {
+            if (data[0] == i) {
+                data[1] = j;
+                return ImsConfig.OperationStatusConstants.SUCCESS;
+            }
+        }
+        return ImsConfig.OperationStatusConstants.SUCCESS;
+    }
+
+    private void processAllMessages() {
+        while (!mLooper.getLooper().getQueue().isIdle()) {
+            mLooper.processAllMessages();
+        }
+    }
+
+    private static void logd(String str) {
+        Log.d(TAG, str);
+    }
+}
diff --git a/tests/src/com/android/phone/ImsProvisioningLoaderTest.java b/tests/src/com/android/phone/ImsProvisioningLoaderTest.java
new file mode 100644
index 0000000..61cab1d
--- /dev/null
+++ b/tests/src/com/android/phone/ImsProvisioningLoaderTest.java
@@ -0,0 +1,260 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.phone;
+
+import static junit.framework.Assert.assertEquals;
+
+import static org.mockito.ArgumentMatchers.anyInt;
+import static org.mockito.ArgumentMatchers.anyString;
+import static org.mockito.Mockito.doReturn;
+
+import android.content.Context;
+import android.content.SharedPreferences;
+import android.os.PersistableBundle;
+import android.telephony.ims.feature.MmTelFeature;
+import android.telephony.ims.feature.RcsFeature;
+import android.telephony.ims.stub.ImsRegistrationImplBase;
+import android.test.suitebuilder.annotation.SmallTest;
+import android.util.Log;
+
+import androidx.test.InstrumentationRegistry;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+
+/**
+ * Unit Test for ImsProvisioningLoader.
+ */
+public class ImsProvisioningLoaderTest {
+    private static final String LOG_TAG = ImsProvisioningLoaderTest.class.getSimpleName();
+
+    private static final int IMS_FEATURE_MMTEL = ImsProvisioningLoader.IMS_FEATURE_MMTEL;
+    private static final int IMS_FEATURE_RCS = ImsProvisioningLoader.IMS_FEATURE_RCS;
+
+    private static final int TECH_LTE = ImsRegistrationImplBase.REGISTRATION_TECH_LTE;
+    private static final int TECH_IWLAN = ImsRegistrationImplBase.REGISTRATION_TECH_IWLAN;
+    private static final int TECH_NEW = Integer.MAX_VALUE;
+
+    private static final int CAPA_VOICE = MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_VOICE;
+    private static final int CAPA_VIDEO = MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_VIDEO;
+    private static final int CAPA_UT = MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_UT;
+    private static final int CAPA_PRESENCE =
+            RcsFeature.RcsImsCapabilities.CAPABILITY_TYPE_PRESENCE_UCE;
+    private static final int CAPA_NEW = Integer.MAX_VALUE;
+
+    private static final int STATUS_NOT_PROVISIONED = ImsProvisioningLoader.STATUS_NOT_PROVISIONED;
+    private static final int STATUS_PROVISIONED = ImsProvisioningLoader.STATUS_PROVISIONED;
+
+    private static final int SUB_ID_1 = 111111;
+    private static final int SUB_ID_2 = 222222;
+
+    @Mock
+    Context mContext;
+    @Mock
+    SharedPreferences mSharedPreferences;
+    private ImsProvisioningLoader mImsProvisioningLoader;
+
+    @Before
+    public void setUp() throws Exception {
+        MockitoAnnotations.initMocks(this);
+        doReturn(mSharedPreferences).when(mContext).getSharedPreferences(anyString(), anyInt());
+        doReturn(InstrumentationRegistry.getTargetContext().getFilesDir()).when(
+                mContext).getFilesDir();
+
+        mImsProvisioningLoader = new ImsProvisioningLoader(mContext);
+    }
+
+    @After
+    public void tearDown() throws Exception {
+        if (mImsProvisioningLoader != null) {
+            mImsProvisioningLoader.clear();
+        }
+        deleteXml(SUB_ID_1, mContext);
+        deleteXml(SUB_ID_2, mContext);
+    }
+
+    @Test
+    @SmallTest
+    public void testSetProvisioningStatus_ExistFeature() {
+        // Set MMTEL IWLAN VOICE to STATUS_PROVISIONED
+        String[] info =
+                new String[]{IMS_FEATURE_MMTEL + "," + TECH_IWLAN + "," + CAPA_VOICE + "," + getInt(
+                        true)};
+        mImsProvisioningLoader.setProvisioningToXml(SUB_ID_1, new PersistableBundle(), info);
+
+        int curValue = mImsProvisioningLoader.getProvisioningStatus(SUB_ID_1, IMS_FEATURE_MMTEL,
+                CAPA_VOICE, TECH_IWLAN);
+        assertEquals(getXmlContents(SUB_ID_1), getInt(true), curValue);
+
+        // Change MMTEL IWLAN VOICE provisioning status
+        boolean saveResult = mImsProvisioningLoader.setProvisioningStatus(SUB_ID_1,
+                IMS_FEATURE_MMTEL, CAPA_VOICE, TECH_IWLAN, false);
+        curValue = mImsProvisioningLoader.getProvisioningStatus(SUB_ID_1,
+                IMS_FEATURE_MMTEL, CAPA_VOICE, TECH_IWLAN);
+        assertEquals(getXmlContents(SUB_ID_1), true, saveResult);
+        assertEquals(getXmlContents(SUB_ID_1), getInt(false), curValue);
+
+        // If set to the same provisioning status,  don't save it.
+        saveResult = mImsProvisioningLoader.setProvisioningStatus(SUB_ID_1,
+                IMS_FEATURE_MMTEL, CAPA_VOICE, TECH_IWLAN, false);
+        curValue = mImsProvisioningLoader.getProvisioningStatus(SUB_ID_1,
+                IMS_FEATURE_MMTEL, CAPA_VOICE, TECH_IWLAN);
+        assertEquals(getXmlContents(SUB_ID_1), false, saveResult);
+        assertEquals(getXmlContents(SUB_ID_1), getInt(false), curValue);
+    }
+
+    @Test
+    @SmallTest
+    public void testSetProvisioningStatus_NewFeature() {
+        // Set new capability
+        // Return true as a result to setProvisioningStatus()
+        boolean saveResult = mImsProvisioningLoader.setProvisioningStatus(SUB_ID_1,
+                IMS_FEATURE_MMTEL, CAPA_NEW, TECH_LTE, true);
+        int curValue = mImsProvisioningLoader.getProvisioningStatus(SUB_ID_1,
+                IMS_FEATURE_MMTEL, CAPA_NEW, TECH_LTE);
+        assertEquals(getXmlContents(SUB_ID_1), true, saveResult);
+        assertEquals(getXmlContents(SUB_ID_1), getInt(true), curValue);
+
+        // Set new tech
+        saveResult = mImsProvisioningLoader.setProvisioningStatus(SUB_ID_1,
+                IMS_FEATURE_MMTEL, CAPA_VOICE, TECH_NEW, false);
+        curValue = mImsProvisioningLoader.getProvisioningStatus(SUB_ID_1,
+                IMS_FEATURE_MMTEL, CAPA_VOICE, TECH_NEW);
+        assertEquals(getXmlContents(SUB_ID_1), true, saveResult);
+        assertEquals(getXmlContents(SUB_ID_1), getInt(false), curValue);
+    }
+
+    @Test
+    @SmallTest
+    public void testSetProvisioningStatus_DifferentSim() {
+        // Check whether the provisioning status does not change even if SIM is changed
+        // Sub id 2, set provisioning status
+        boolean prevValue = getBooleanFromProvisioningStatus(SUB_ID_2,
+                IMS_FEATURE_RCS, CAPA_PRESENCE, TECH_IWLAN);
+        boolean saveResult = mImsProvisioningLoader.setProvisioningStatus(
+                SUB_ID_2, IMS_FEATURE_RCS, CAPA_PRESENCE, TECH_IWLAN, !prevValue);
+        int curValue = mImsProvisioningLoader.getProvisioningStatus(SUB_ID_2,
+                IMS_FEATURE_RCS, CAPA_PRESENCE, TECH_IWLAN);
+        assertEquals(getXmlContents(SUB_ID_2), true, saveResult);
+        assertEquals(getXmlContents(SUB_ID_2), getInt(!prevValue), curValue);
+
+        // Sub id 1, set other provisioned status
+        mImsProvisioningLoader.setProvisioningStatus(
+                SUB_ID_1, IMS_FEATURE_RCS, CAPA_PRESENCE, TECH_IWLAN, prevValue);
+
+        // Sub id 2, check the previous provisioning status isn't changed
+        curValue = mImsProvisioningLoader.getProvisioningStatus(SUB_ID_2,
+                IMS_FEATURE_RCS, CAPA_PRESENCE, TECH_IWLAN);
+        assertEquals(getXmlContents(SUB_ID_2), getInt(!prevValue), curValue);
+    }
+
+    @Test
+    @SmallTest
+    public void testGetProvisioningStatus_UtProvisioningStatusIsExistInPref() {
+        // Ut provisioning status exists in preference
+        doReturn(1).when(mSharedPreferences).getInt(anyString(), anyInt());
+        int curValue = mImsProvisioningLoader.getProvisioningStatus(SUB_ID_1,
+                IMS_FEATURE_MMTEL, CAPA_UT, TECH_LTE);
+        assertEquals(getXmlContents(SUB_ID_1), getInt(true), curValue);
+    }
+
+    @Test
+    @SmallTest
+    public void testGetProvisioningStatus_ExistXml() {
+        // Set MMTEL LTE VOICE to STATUS_PROVISIONED, MMTEL LTE VIDEO to STATUS_NOT_PROVISIONED
+        String[] info =
+                new String[]{IMS_FEATURE_MMTEL + "," + TECH_LTE + "," + CAPA_VOICE + "," + getInt(
+                        true),
+                        IMS_FEATURE_MMTEL + "," + TECH_LTE + "," + CAPA_VIDEO + "," + getInt(
+                                false)};
+        mImsProvisioningLoader.setProvisioningToXml(SUB_ID_1, new PersistableBundle(), info);
+
+        int curValue = mImsProvisioningLoader.getProvisioningStatus(SUB_ID_1,
+                IMS_FEATURE_MMTEL, CAPA_VOICE, TECH_LTE);
+        assertEquals(getXmlContents(SUB_ID_1), getInt(true), curValue);
+
+        curValue = mImsProvisioningLoader.getProvisioningStatus(SUB_ID_1,
+                IMS_FEATURE_MMTEL, CAPA_VIDEO, TECH_LTE);
+        assertEquals(getXmlContents(SUB_ID_1), getInt(false), curValue);
+    }
+
+    private boolean getBooleanFromProvisioningStatus(int subId, int imsFeature, int capa,
+            int tech) {
+        // Return provisioning status to bool
+        return mImsProvisioningLoader.getProvisioningStatus(
+                subId, imsFeature, capa, tech) == STATUS_PROVISIONED ? true
+                : false;
+    }
+
+    private int getInt(boolean isProvisioned) {
+        return isProvisioned ? STATUS_PROVISIONED : STATUS_NOT_PROVISIONED;
+    }
+
+    private void deleteXml(int subId, Context context) {
+        String fileName = getFileName(subId);
+        File file = null;
+        try {
+            file = new File(context.getFilesDir(), fileName);
+        } catch (Exception e) {
+            logd(e.toString());
+        }
+        file.delete();
+    }
+
+    private String getXmlContents(int subId) {
+        String fileName = getFileName(subId);
+
+        File file = null;
+        FileInputStream inFile = null;
+        StringBuilder readString = new StringBuilder();
+        readString.append("file name " + fileName + "\n");
+        byte[] buffer = new byte[1024];
+        int n = 0;
+        try {
+            file = new File(mContext.getFilesDir(), fileName);
+            inFile = new FileInputStream(file);
+            while ((n = inFile.read(buffer)) != -1) {
+                readString.append(new String(buffer, 0, n));
+            }
+            inFile.close();
+        } catch (FileNotFoundException e) {
+            logd(e.toString());
+
+        } catch (IOException e) {
+            logd(e.toString());
+        }
+        return readString.toString();
+    }
+
+    private String getFileName(int subId) {
+        // Resulting name is imsprovisioningstatus_{subId}.xml
+        return "imsprovisioningstatus_" + subId + ".xml";
+    }
+
+    private static void logd(String contents) {
+        Log.d(LOG_TAG, contents);
+    }
+
+}
diff --git a/tests/src/com/android/phone/ImsStateCallbackControllerTest.java b/tests/src/com/android/phone/ImsStateCallbackControllerTest.java
new file mode 100644
index 0000000..cb4321c
--- /dev/null
+++ b/tests/src/com/android/phone/ImsStateCallbackControllerTest.java
@@ -0,0 +1,947 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.phone;
+
+import static android.telephony.ims.ImsStateCallback.REASON_IMS_SERVICE_DISCONNECTED;
+import static android.telephony.ims.ImsStateCallback.REASON_IMS_SERVICE_NOT_READY;
+import static android.telephony.ims.ImsStateCallback.REASON_NO_IMS_SERVICE_CONFIGURED;
+import static android.telephony.ims.ImsStateCallback.REASON_SUBSCRIPTION_INACTIVE;
+import static android.telephony.ims.feature.ImsFeature.FEATURE_MMTEL;
+import static android.telephony.ims.feature.ImsFeature.FEATURE_RCS;
+
+import static com.android.ims.FeatureConnector.UNAVAILABLE_REASON_DISCONNECTED;
+import static com.android.ims.FeatureConnector.UNAVAILABLE_REASON_IMS_UNSUPPORTED;
+import static com.android.ims.FeatureConnector.UNAVAILABLE_REASON_NOT_READY;
+
+import static junit.framework.Assert.assertFalse;
+import static junit.framework.Assert.assertTrue;
+
+import static org.mockito.Matchers.any;
+import static org.mockito.Matchers.anyInt;
+import static org.mockito.Matchers.eq;
+import static org.mockito.Mockito.atLeastOnce;
+import static org.mockito.Mockito.doAnswer;
+import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.content.Context;
+import android.os.Handler;
+import android.os.HandlerThread;
+import android.os.IBinder;
+import android.os.Looper;
+import android.telephony.SubscriptionManager;
+import android.telephony.TelephonyRegistryManager;
+import android.test.suitebuilder.annotation.SmallTest;
+import android.testing.TestableLooper;
+import android.util.Log;
+
+import com.android.ims.FeatureConnector;
+import com.android.ims.ImsManager;
+import com.android.ims.RcsFeatureManager;
+import com.android.internal.telephony.IImsStateCallback;
+import com.android.internal.telephony.ITelephony;
+import com.android.internal.telephony.Phone;
+import com.android.internal.telephony.ims.ImsResolver;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+import org.mockito.ArgumentCaptor;
+import org.mockito.Captor;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.mockito.invocation.InvocationOnMock;
+import org.mockito.stubbing.Answer;
+
+import java.lang.reflect.Field;
+import java.util.concurrent.Executor;
+
+/**
+ * Unit tests for RcsProvisioningMonitor
+ */
+public class ImsStateCallbackControllerTest {
+    private static final String TAG = "ImsStateCallbackControllerTest";
+    private static final int FAKE_SUB_ID_BASE = 0x0FFFFFF0;
+
+    private static final int SLOT_0 = 0;
+    private static final int SLOT_1 = 1;
+
+    private static final int SLOT_0_SUB_ID = 1;
+    private static final int SLOT_1_SUB_ID = 2;
+    private static final int SLOT_2_SUB_ID = 3;
+
+    private ImsStateCallbackController mImsStateCallbackController;
+    private Handler mHandler;
+    private HandlerThread mHandlerThread;
+    private TestableLooper mLooper;
+    @Mock private SubscriptionManager mSubscriptionManager;
+    private SubscriptionManager.OnSubscriptionsChangedListener mSubChangedListener;
+    @Mock private TelephonyRegistryManager mTelephonyRegistryManager;
+    @Mock private ITelephony.Stub mITelephony;
+    @Mock private RcsFeatureManager mRcsFeatureManager;
+    @Mock private ImsManager mMmTelFeatureManager;
+    @Mock private ImsStateCallbackController.MmTelFeatureConnectorFactory mMmTelFeatureFactory;
+    @Mock private ImsStateCallbackController.RcsFeatureConnectorFactory mRcsFeatureFactory;
+    @Mock private FeatureConnector<ImsManager> mMmTelFeatureConnectorSlot0;
+    @Mock private FeatureConnector<ImsManager> mMmTelFeatureConnectorSlot1;
+    @Mock private FeatureConnector<RcsFeatureManager> mRcsFeatureConnectorSlot0;
+    @Mock private FeatureConnector<RcsFeatureManager> mRcsFeatureConnectorSlot1;
+    @Captor ArgumentCaptor<FeatureConnector.Listener<ImsManager>> mMmTelConnectorListenerSlot0;
+    @Captor ArgumentCaptor<FeatureConnector.Listener<ImsManager>> mMmTelConnectorListenerSlot1;
+    @Captor ArgumentCaptor<FeatureConnector.Listener<RcsFeatureManager>> mRcsConnectorListenerSlot0;
+    @Captor ArgumentCaptor<FeatureConnector.Listener<RcsFeatureManager>> mRcsConnectorListenerSlot1;
+    @Mock private PhoneGlobals mPhone;
+    @Mock ImsStateCallbackController.PhoneFactoryProxy mPhoneFactoryProxy;
+    @Mock Phone mPhoneSlot0;
+    @Mock Phone mPhoneSlot1;
+    @Mock private IBinder mBinder0;
+    @Mock private IBinder mBinder1;
+    @Mock private IBinder mBinder2;
+    @Mock private IBinder mBinder3;
+    @Mock private IImsStateCallback mCallback0;
+    @Mock private IImsStateCallback mCallback1;
+    @Mock private IImsStateCallback mCallback2;
+    @Mock private IImsStateCallback mCallback3;
+    @Mock private ImsResolver mImsResolver;
+
+    private Executor mExecutor = new Executor() {
+        @Override
+        public void execute(Runnable r) {
+            r.run();
+        }
+    };
+
+    @Before
+    public void setUp() throws Exception {
+        MockitoAnnotations.initMocks(this);
+
+        when(mPhone.getMainExecutor()).thenReturn(mExecutor);
+        when(mPhone.getSystemServiceName(eq(SubscriptionManager.class)))
+                .thenReturn(Context.TELEPHONY_SUBSCRIPTION_SERVICE);
+        when(mPhone.getSystemService(eq(Context.TELEPHONY_SUBSCRIPTION_SERVICE)))
+                .thenReturn(mSubscriptionManager);
+        when(mPhone.getSystemServiceName(eq(TelephonyRegistryManager.class)))
+                .thenReturn(Context.TELEPHONY_REGISTRY_SERVICE);
+        when(mPhone.getSystemService(eq(Context.TELEPHONY_REGISTRY_SERVICE)))
+                .thenReturn(mTelephonyRegistryManager);
+        when(mPhoneFactoryProxy.getPhone(eq(0))).thenReturn(mPhoneSlot0);
+        when(mPhoneFactoryProxy.getPhone(eq(1))).thenReturn(mPhoneSlot1);
+        when(mPhoneSlot0.getSubId()).thenReturn(SLOT_0_SUB_ID);
+        when(mPhoneSlot1.getSubId()).thenReturn(SLOT_1_SUB_ID);
+
+        when(mCallback0.asBinder()).thenReturn(mBinder0);
+        when(mCallback1.asBinder()).thenReturn(mBinder1);
+        when(mCallback2.asBinder()).thenReturn(mBinder2);
+        when(mCallback3.asBinder()).thenReturn(mBinder3);
+
+        // slot 0
+        when(mImsResolver.isImsServiceConfiguredForFeature(eq(0), eq(FEATURE_MMTEL)))
+                .thenReturn(true);
+        when(mImsResolver.isImsServiceConfiguredForFeature(eq(0), eq(FEATURE_RCS)))
+                .thenReturn(true);
+
+        // slot 1
+        when(mImsResolver.isImsServiceConfiguredForFeature(eq(1), eq(FEATURE_MMTEL)))
+                .thenReturn(true);
+        when(mImsResolver.isImsServiceConfiguredForFeature(eq(1), eq(FEATURE_RCS)))
+                .thenReturn(true);
+
+        doAnswer(new Answer<Void>() {
+            @Override
+            public Void answer(InvocationOnMock invocation) throws Throwable {
+                mSubChangedListener = (SubscriptionManager.OnSubscriptionsChangedListener)
+                        invocation.getArguments()[0];
+                return null;
+            }
+        }).when(mTelephonyRegistryManager).addOnSubscriptionsChangedListener(
+                any(SubscriptionManager.OnSubscriptionsChangedListener.class),
+                any());
+
+        mHandlerThread = new HandlerThread("ImsStateCallbackControllerTest");
+        mHandlerThread.start();
+    }
+
+    @After
+    public void tearDown() throws Exception {
+        if (mImsStateCallbackController != null) {
+            mImsStateCallbackController.destroy();
+            mImsStateCallbackController = null;
+        }
+
+        if (mLooper != null) {
+            mLooper.destroy();
+            mLooper = null;
+        }
+    }
+
+    @Test
+    @SmallTest
+    public void testMmTelRegisterThenUnregisterCallback() throws Exception {
+        createController(1);
+
+        mImsStateCallbackController
+                .registerImsStateCallback(SLOT_0_SUB_ID, FEATURE_MMTEL, mCallback0, "callback0");
+        processAllMessages();
+        assertTrue(mImsStateCallbackController.isRegistered(mCallback0));
+        verify(mCallback0, times(1)).onUnavailable(REASON_IMS_SERVICE_DISCONNECTED);
+
+        mImsStateCallbackController.unregisterImsStateCallback(mCallback0);
+        processAllMessages();
+        assertFalse(mImsStateCallbackController.isRegistered(mCallback0));
+    }
+
+    @Test
+    @SmallTest
+    public void testMmTelConnectionUnavailable() throws Exception {
+        createController(1);
+
+        mImsStateCallbackController
+                .registerImsStateCallback(SLOT_0_SUB_ID, FEATURE_MMTEL, mCallback0, "callback0");
+        processAllMessages();
+        assertTrue(mImsStateCallbackController.isRegistered(mCallback0));
+        verify(mCallback0, times(1)).onUnavailable(REASON_IMS_SERVICE_DISCONNECTED);
+
+        mMmTelConnectorListenerSlot0.getValue()
+                .connectionUnavailable(UNAVAILABLE_REASON_NOT_READY);
+        processAllMessages();
+        verify(mCallback0, times(1)).onUnavailable(REASON_IMS_SERVICE_NOT_READY);
+
+        mMmTelConnectorListenerSlot0.getValue()
+                .connectionUnavailable(UNAVAILABLE_REASON_IMS_UNSUPPORTED);
+        processAllMessages();
+        verify(mCallback0, times(1)).onUnavailable(REASON_NO_IMS_SERVICE_CONFIGURED);
+
+        mImsStateCallbackController.unregisterImsStateCallback(mCallback0);
+        processAllMessages();
+        assertFalse(mImsStateCallbackController.isRegistered(mCallback0));
+    }
+
+    @Test
+    @SmallTest
+    public void testMmTelConnectionReady() throws Exception {
+        createController(1);
+
+        mImsStateCallbackController
+                .registerImsStateCallback(SLOT_0_SUB_ID, FEATURE_MMTEL, mCallback0, "callback0");
+        processAllMessages();
+        assertTrue(mImsStateCallbackController.isRegistered(mCallback0));
+        verify(mCallback0, times(1)).onUnavailable(REASON_IMS_SERVICE_DISCONNECTED);
+        verify(mCallback0, times(0)).onAvailable();
+
+        mMmTelConnectorListenerSlot0.getValue().connectionReady(null, SLOT_0_SUB_ID);
+        processAllMessages();
+        verify(mCallback0, atLeastOnce()).onAvailable();
+
+        mImsStateCallbackController.unregisterImsStateCallback(mCallback0);
+        processAllMessages();
+        assertFalse(mImsStateCallbackController.isRegistered(mCallback0));
+    }
+
+    @Test
+    @SmallTest
+    public void testMmTelIgnoreDuplicatedConsecutiveReason() throws Exception {
+        createController(1);
+
+        mImsStateCallbackController
+                .registerImsStateCallback(SLOT_0_SUB_ID, FEATURE_MMTEL, mCallback0, "callback0");
+        processAllMessages();
+        assertTrue(mImsStateCallbackController.isRegistered(mCallback0));
+        verify(mCallback0, times(1)).onUnavailable(REASON_IMS_SERVICE_DISCONNECTED);
+
+        mMmTelConnectorListenerSlot0.getValue()
+                .connectionUnavailable(UNAVAILABLE_REASON_IMS_UNSUPPORTED);
+        processAllMessages();
+        verify(mCallback0, times(1)).onUnavailable(REASON_NO_IMS_SERVICE_CONFIGURED);
+
+        mMmTelConnectorListenerSlot0.getValue()
+                .connectionUnavailable(UNAVAILABLE_REASON_IMS_UNSUPPORTED);
+        processAllMessages();
+        verify(mCallback0, times(1)).onUnavailable(REASON_NO_IMS_SERVICE_CONFIGURED);
+
+        mImsStateCallbackController.unregisterImsStateCallback(mCallback0);
+        processAllMessages();
+        assertFalse(mImsStateCallbackController.isRegistered(mCallback0));
+    }
+
+    @Test
+    @SmallTest
+    public void testRcsRegisterThenUnregisterCallback() throws Exception {
+        createController(1);
+
+        mImsStateCallbackController
+                .registerImsStateCallback(SLOT_0_SUB_ID, FEATURE_RCS, mCallback0, "callback0");
+        processAllMessages();
+        assertTrue(mImsStateCallbackController.isRegistered(mCallback0));
+        verify(mCallback0, times(1)).onUnavailable(REASON_IMS_SERVICE_DISCONNECTED);
+
+        mImsStateCallbackController.unregisterImsStateCallback(mCallback0);
+        processAllMessages();
+        assertFalse(mImsStateCallbackController.isRegistered(mCallback0));
+    }
+
+    @Test
+    @SmallTest
+    public void testRcsConnectionUnavailable() throws Exception {
+        createController(1);
+
+        mImsStateCallbackController
+                .registerImsStateCallback(SLOT_0_SUB_ID, FEATURE_RCS, mCallback0, "callback0");
+        processAllMessages();
+        assertTrue(mImsStateCallbackController.isRegistered(mCallback0));
+        verify(mCallback0, times(1)).onUnavailable(REASON_IMS_SERVICE_DISCONNECTED);
+
+        // TelephonyRcsService notifying active features
+        mImsStateCallbackController.notifyExternalRcsStateChanged(SLOT_0, false, true);
+        processAllMessages();
+
+        mRcsConnectorListenerSlot0.getValue()
+                .connectionUnavailable(UNAVAILABLE_REASON_NOT_READY);
+        processAllMessages();
+        verify(mCallback0, times(1)).onUnavailable(REASON_IMS_SERVICE_NOT_READY);
+
+        mRcsConnectorListenerSlot0.getValue()
+                .connectionUnavailable(UNAVAILABLE_REASON_IMS_UNSUPPORTED);
+        processAllMessages();
+        verify(mCallback0, times(1)).onUnavailable(REASON_NO_IMS_SERVICE_CONFIGURED);
+
+        mImsStateCallbackController.unregisterImsStateCallback(mCallback0);
+        processAllMessages();
+        assertFalse(mImsStateCallbackController.isRegistered(mCallback0));
+    }
+
+    @Test
+    @SmallTest
+    public void testRcsConnectionReady() throws Exception {
+        createController(1);
+
+        mImsStateCallbackController
+                .registerImsStateCallback(SLOT_0_SUB_ID, FEATURE_RCS, mCallback0, "callback0");
+        processAllMessages();
+        assertTrue(mImsStateCallbackController.isRegistered(mCallback0));
+        verify(mCallback0, times(1)).onUnavailable(REASON_IMS_SERVICE_DISCONNECTED);
+
+        // TelephonyRcsService notifying active features
+        mImsStateCallbackController.notifyExternalRcsStateChanged(SLOT_0, false, true);
+        processAllMessages();
+
+        mRcsConnectorListenerSlot0.getValue()
+                .connectionUnavailable(UNAVAILABLE_REASON_NOT_READY);
+        processAllMessages();
+        verify(mCallback0, times(1)).onUnavailable(REASON_IMS_SERVICE_NOT_READY);
+
+        mRcsConnectorListenerSlot0.getValue().connectionReady(null, SLOT_0_SUB_ID);
+        processAllMessages();
+        verify(mCallback0, times(0)).onAvailable();
+
+        // RcsFeatureController notifying STATE_READY
+        mImsStateCallbackController.notifyExternalRcsStateChanged(SLOT_0, true, true);
+        processAllMessages();
+        verify(mCallback0, times(1)).onAvailable();
+
+        mRcsConnectorListenerSlot0.getValue()
+                .connectionUnavailable(UNAVAILABLE_REASON_DISCONNECTED);
+        processAllMessages();
+        verify(mCallback0, times(2)).onUnavailable(REASON_IMS_SERVICE_DISCONNECTED);
+
+        mRcsConnectorListenerSlot0.getValue()
+                .connectionUnavailable(UNAVAILABLE_REASON_NOT_READY);
+        processAllMessages();
+        verify(mCallback0, times(2)).onUnavailable(REASON_IMS_SERVICE_NOT_READY);
+
+        // RcsFeatureController notifying STATE_READY
+        mImsStateCallbackController.notifyExternalRcsStateChanged(SLOT_0, true, true);
+        processAllMessages();
+        verify(mCallback0, times(1)).onAvailable();
+
+        mRcsConnectorListenerSlot0.getValue().connectionReady(null, SLOT_0_SUB_ID);
+        processAllMessages();
+        verify(mCallback0, times(2)).onAvailable();
+
+        mImsStateCallbackController.unregisterImsStateCallback(mCallback0);
+        processAllMessages();
+        assertFalse(mImsStateCallbackController.isRegistered(mCallback0));
+    }
+
+    @Test
+    @SmallTest
+    public void testRcsHasNoActiveFeature() throws Exception {
+        createController(1);
+
+        mImsStateCallbackController
+                .registerImsStateCallback(SLOT_0_SUB_ID, FEATURE_RCS, mCallback0, "callback0");
+        processAllMessages();
+        assertTrue(mImsStateCallbackController.isRegistered(mCallback0));
+        verify(mCallback0, times(1)).onUnavailable(REASON_IMS_SERVICE_DISCONNECTED);
+
+        // TelephonyRcsService notifying NO active feature
+        mImsStateCallbackController.notifyExternalRcsStateChanged(SLOT_0, false, false);
+        processAllMessages();
+        verify(mCallback0, times(1)).onUnavailable(REASON_NO_IMS_SERVICE_CONFIGURED);
+
+        mRcsConnectorListenerSlot0.getValue()
+                .connectionUnavailable(UNAVAILABLE_REASON_NOT_READY);
+        processAllMessages();
+        verify(mCallback0, times(0)).onUnavailable(REASON_IMS_SERVICE_NOT_READY);
+
+        mRcsConnectorListenerSlot0.getValue().connectionReady(null, SLOT_0_SUB_ID);
+        processAllMessages();
+        verify(mCallback0, times(0)).onAvailable();
+
+        mImsStateCallbackController.unregisterImsStateCallback(mCallback0);
+        processAllMessages();
+        assertFalse(mImsStateCallbackController.isRegistered(mCallback0));
+    }
+
+    @Test
+    @SmallTest
+    public void testRcsIgnoreDuplicatedConsecutiveReason() throws Exception {
+        createController(1);
+
+        mImsStateCallbackController
+                .registerImsStateCallback(SLOT_0_SUB_ID, FEATURE_RCS, mCallback0, "callback0");
+        processAllMessages();
+        assertTrue(mImsStateCallbackController.isRegistered(mCallback0));
+        verify(mCallback0, times(1)).onUnavailable(REASON_IMS_SERVICE_DISCONNECTED);
+
+        // TelephonyRcsService notifying active features
+        mImsStateCallbackController.notifyExternalRcsStateChanged(SLOT_0, false, true);
+        processAllMessages();
+
+        mRcsConnectorListenerSlot0.getValue()
+                .connectionUnavailable(UNAVAILABLE_REASON_NOT_READY);
+        processAllMessages();
+        verify(mCallback0, times(1)).onUnavailable(REASON_IMS_SERVICE_NOT_READY);
+
+        mRcsConnectorListenerSlot0.getValue()
+                .connectionUnavailable(UNAVAILABLE_REASON_NOT_READY);
+        processAllMessages();
+        verify(mCallback0, times(1)).onUnavailable(REASON_IMS_SERVICE_NOT_READY);
+
+        mImsStateCallbackController.unregisterImsStateCallback(mCallback0);
+        processAllMessages();
+        assertFalse(mImsStateCallbackController.isRegistered(mCallback0));
+    }
+
+    @Test
+    @SmallTest
+    public void testCallbackRemovedWhenSubInfoChanged() throws Exception {
+        createController(2);
+
+        mImsStateCallbackController
+                .registerImsStateCallback(SLOT_0_SUB_ID, FEATURE_MMTEL, mCallback0, "callback0");
+        mImsStateCallbackController
+                .registerImsStateCallback(SLOT_1_SUB_ID, FEATURE_RCS, mCallback1, "callback1");
+        processAllMessages();
+        assertTrue(mImsStateCallbackController.isRegistered(mCallback0));
+        assertTrue(mImsStateCallbackController.isRegistered(mCallback1));
+
+        verify(mCallback0, times(1)).onUnavailable(REASON_IMS_SERVICE_DISCONNECTED);
+        verify(mCallback1, times(1)).onUnavailable(REASON_IMS_SERVICE_DISCONNECTED);
+
+        makeFakeActiveSubIds(0);
+        mExecutor.execute(() -> mSubChangedListener.onSubscriptionsChanged());
+        processAllMessages();
+
+        verify(mCallback0, times(1)).onUnavailable(REASON_SUBSCRIPTION_INACTIVE);
+        verify(mCallback1, times(1)).onUnavailable(REASON_SUBSCRIPTION_INACTIVE);
+
+        assertFalse(mImsStateCallbackController.isRegistered(mCallback0));
+        assertFalse(mImsStateCallbackController.isRegistered(mCallback1));
+    }
+
+    @Test
+    @SmallTest
+    public void testCarrierConfigurationChanged() throws Exception {
+        createController(2);
+
+        when(mImsResolver.isImsServiceConfiguredForFeature(eq(1), eq(FEATURE_MMTEL)))
+                .thenReturn(false);
+
+        mImsStateCallbackController
+                .registerImsStateCallback(SLOT_0_SUB_ID, FEATURE_MMTEL, mCallback0, "callback0");
+        mImsStateCallbackController
+                .registerImsStateCallback(SLOT_1_SUB_ID, FEATURE_MMTEL, mCallback1, "callback1");
+        mImsStateCallbackController
+                .registerImsStateCallback(SLOT_1_SUB_ID, FEATURE_RCS, mCallback2, "callback2");
+        processAllMessages();
+        assertTrue(mImsStateCallbackController.isRegistered(mCallback0));
+        assertTrue(mImsStateCallbackController.isRegistered(mCallback1));
+        assertTrue(mImsStateCallbackController.isRegistered(mCallback2));
+
+        // check initial reason
+        verify(mCallback0, times(1)).onUnavailable(REASON_IMS_SERVICE_DISCONNECTED);
+        verify(mCallback1, times(1)).onUnavailable(REASON_IMS_SERVICE_DISCONNECTED);
+        verify(mCallback2, times(1)).onUnavailable(REASON_IMS_SERVICE_DISCONNECTED);
+
+        verify(mCallback0, times(0)).onUnavailable(REASON_NO_IMS_SERVICE_CONFIGURED);
+        verify(mCallback1, times(0)).onUnavailable(REASON_NO_IMS_SERVICE_CONFIGURED);
+        verify(mCallback2, times(0)).onUnavailable(REASON_NO_IMS_SERVICE_CONFIGURED);
+
+        // ensure only one reason reported until now
+        verify(mCallback0, times(1)).onUnavailable(anyInt());
+        verify(mCallback1, times(1)).onUnavailable(anyInt());
+        verify(mCallback2, times(1)).onUnavailable(anyInt());
+
+        // state change in RCS for slot 0
+        mRcsConnectorListenerSlot0.getValue()
+                .connectionUnavailable(UNAVAILABLE_REASON_NOT_READY);
+
+        // ensure there is no change, since callbacks are not interested RCS on slot 0
+        verify(mCallback0, times(1)).onUnavailable(anyInt());
+        verify(mCallback1, times(1)).onUnavailable(anyInt());
+        verify(mCallback2, times(1)).onUnavailable(anyInt());
+
+        // carrier config changed, no MMTEL package for slot 1
+        mImsStateCallbackController.notifyCarrierConfigChanged(SLOT_1);
+        processAllMessages();
+
+        // only the callback for MMTEL of slot 1 received the reason
+        verify(mCallback0, times(0)).onUnavailable(REASON_NO_IMS_SERVICE_CONFIGURED);
+        verify(mCallback1, times(1)).onUnavailable(REASON_NO_IMS_SERVICE_CONFIGURED);
+        verify(mCallback2, times(0)).onUnavailable(REASON_NO_IMS_SERVICE_CONFIGURED);
+
+        // ensure no other callbacks
+        verify(mCallback0, times(1)).onUnavailable(anyInt());
+        verify(mCallback1, times(2)).onUnavailable(anyInt());
+        verify(mCallback2, times(1)).onUnavailable(anyInt());
+
+        mMmTelConnectorListenerSlot1.getValue()
+                .connectionUnavailable(UNAVAILABLE_REASON_NOT_READY);
+        mMmTelConnectorListenerSlot1.getValue()
+                .connectionUnavailable(UNAVAILABLE_REASON_DISCONNECTED);
+
+        // resons except REASON_NO_IMS_SERVICE_CONFIGURED are discared
+        verify(mCallback0, times(1)).onUnavailable(anyInt());
+        verify(mCallback1, times(2)).onUnavailable(anyInt());
+        verify(mCallback2, times(1)).onUnavailable(anyInt());
+
+        // IMS package for MMTEL of slot 1 is added
+        when(mImsResolver.isImsServiceConfiguredForFeature(eq(1), eq(FEATURE_MMTEL)))
+                .thenReturn(true);
+        mImsStateCallbackController.notifyCarrierConfigChanged(SLOT_1);
+        processAllMessages();
+
+        // ensure the callback to MMTEL of slot 1 only received REASON_IMS_SERVICE_DISCONNECTED
+        verify(mCallback0, times(1)).onUnavailable(REASON_IMS_SERVICE_DISCONNECTED);
+        verify(mCallback1, times(2)).onUnavailable(REASON_IMS_SERVICE_DISCONNECTED);
+        verify(mCallback2, times(1)).onUnavailable(REASON_IMS_SERVICE_DISCONNECTED);
+
+        // ensure no other reason repored
+        verify(mCallback0, times(1)).onUnavailable(anyInt());
+        verify(mCallback1, times(3)).onUnavailable(anyInt());
+        verify(mCallback2, times(1)).onUnavailable(anyInt());
+
+        // carrier config changed, no MMTEL package for slot 1
+        when(mImsResolver.isImsServiceConfiguredForFeature(eq(1), eq(FEATURE_MMTEL)))
+                .thenReturn(false);
+        mImsStateCallbackController.notifyCarrierConfigChanged(SLOT_1);
+        mImsStateCallbackController.notifyCarrierConfigChanged(SLOT_1);
+        processAllMessages();
+        // only the callback for MMTEL of slot 1 received the reason
+        verify(mCallback0, times(0)).onUnavailable(REASON_NO_IMS_SERVICE_CONFIGURED);
+        verify(mCallback1, times(2)).onUnavailable(REASON_NO_IMS_SERVICE_CONFIGURED);
+        verify(mCallback2, times(0)).onUnavailable(REASON_NO_IMS_SERVICE_CONFIGURED);
+
+        // ensure no other reason repored
+        verify(mCallback0, times(1)).onUnavailable(anyInt());
+        verify(mCallback1, times(4)).onUnavailable(anyInt());
+        verify(mCallback2, times(1)).onUnavailable(anyInt());
+
+        mMmTelConnectorListenerSlot1.getValue()
+                .connectionUnavailable(UNAVAILABLE_REASON_NOT_READY);
+
+        // resons except REASON_NO_IMS_SERVICE_CONFIGURED are discared
+        verify(mCallback0, times(1)).onUnavailable(anyInt());
+        verify(mCallback1, times(4)).onUnavailable(anyInt());
+        verify(mCallback2, times(1)).onUnavailable(anyInt());
+
+        // IMS package for MMTEL of slot 1 is added
+        when(mImsResolver.isImsServiceConfiguredForFeature(eq(1), eq(FEATURE_MMTEL)))
+                .thenReturn(true);
+        mImsStateCallbackController.notifyCarrierConfigChanged(SLOT_1);
+        processAllMessages();
+
+        // ensure the callback to MMTEL of slot 1
+        // there is a pending reason UNAVAILABLE_REASON_NOT_READY
+        verify(mCallback0, times(1)).onUnavailable(REASON_IMS_SERVICE_DISCONNECTED);
+        verify(mCallback1, times(2)).onUnavailable(REASON_IMS_SERVICE_DISCONNECTED);
+        verify(mCallback1, times(1)).onUnavailable(REASON_IMS_SERVICE_NOT_READY);
+        verify(mCallback2, times(1)).onUnavailable(REASON_IMS_SERVICE_DISCONNECTED);
+
+        // ensure no other reason repored
+        verify(mCallback0, times(1)).onUnavailable(anyInt());
+        verify(mCallback1, times(5)).onUnavailable(anyInt());
+        verify(mCallback2, times(1)).onUnavailable(anyInt());
+
+        assertTrue(mImsStateCallbackController.isRegistered(mCallback0));
+        assertTrue(mImsStateCallbackController.isRegistered(mCallback1));
+        assertTrue(mImsStateCallbackController.isRegistered(mCallback2));
+
+        mImsStateCallbackController.unregisterImsStateCallback(mCallback0);
+        mImsStateCallbackController.unregisterImsStateCallback(mCallback1);
+        mImsStateCallbackController.unregisterImsStateCallback(mCallback2);
+        processAllMessages();
+
+        assertFalse(mImsStateCallbackController.isRegistered(mCallback0));
+        assertFalse(mImsStateCallbackController.isRegistered(mCallback1));
+        assertFalse(mImsStateCallbackController.isRegistered(mCallback2));
+    }
+
+    @Test
+    @SmallTest
+    public void testMultiSubscriptions() throws Exception {
+        createController(2);
+
+        // registration
+        mImsStateCallbackController
+                .registerImsStateCallback(SLOT_0_SUB_ID, FEATURE_MMTEL, mCallback0, "callback0");
+        mImsStateCallbackController
+                .registerImsStateCallback(SLOT_0_SUB_ID, FEATURE_RCS, mCallback1, "callback1");
+        mImsStateCallbackController
+                .registerImsStateCallback(SLOT_1_SUB_ID, FEATURE_MMTEL, mCallback2, "callback2");
+        mImsStateCallbackController
+                .registerImsStateCallback(SLOT_1_SUB_ID, FEATURE_RCS, mCallback3, "callback3");
+        processAllMessages();
+        assertTrue(mImsStateCallbackController.isRegistered(mCallback0));
+        assertTrue(mImsStateCallbackController.isRegistered(mCallback1));
+        assertTrue(mImsStateCallbackController.isRegistered(mCallback2));
+        assertTrue(mImsStateCallbackController.isRegistered(mCallback3));
+        verify(mCallback0, times(1)).onUnavailable(REASON_IMS_SERVICE_DISCONNECTED);
+        verify(mCallback1, times(1)).onUnavailable(REASON_IMS_SERVICE_DISCONNECTED);
+        verify(mCallback2, times(1)).onUnavailable(REASON_IMS_SERVICE_DISCONNECTED);
+        verify(mCallback3, times(1)).onUnavailable(REASON_IMS_SERVICE_DISCONNECTED);
+
+        // TelephonyRcsService notifying active features
+        // slot 0
+        mImsStateCallbackController.notifyExternalRcsStateChanged(SLOT_0, false, true);
+        // slot 1
+        mImsStateCallbackController.notifyExternalRcsStateChanged(SLOT_1, false, true);
+        processAllMessages();
+
+        verify(mCallback0, times(1)).onUnavailable(anyInt());
+        verify(mCallback1, times(1)).onUnavailable(anyInt());
+        verify(mCallback2, times(1)).onUnavailable(anyInt());
+        verify(mCallback3, times(1)).onUnavailable(anyInt());
+
+        verify(mCallback0, times(0)).onAvailable();
+        verify(mCallback1, times(0)).onAvailable();
+        verify(mCallback2, times(0)).onAvailable();
+        verify(mCallback3, times(0)).onAvailable();
+
+        // connectionUnavailable
+        mMmTelConnectorListenerSlot0.getValue()
+                .connectionUnavailable(UNAVAILABLE_REASON_NOT_READY);
+        processAllMessages();
+        verify(mCallback0, times(1)).onUnavailable(REASON_IMS_SERVICE_NOT_READY);
+        verify(mCallback0, times(2)).onUnavailable(anyInt());
+        verify(mCallback1, times(1)).onUnavailable(anyInt());
+        verify(mCallback1, times(1)).onUnavailable(anyInt());
+        verify(mCallback2, times(1)).onUnavailable(anyInt());
+        verify(mCallback2, times(1)).onUnavailable(anyInt());
+        verify(mCallback3, times(1)).onUnavailable(anyInt());
+        verify(mCallback3, times(1)).onUnavailable(anyInt());
+
+        mRcsConnectorListenerSlot0.getValue()
+                .connectionUnavailable(UNAVAILABLE_REASON_NOT_READY);
+        processAllMessages();
+        verify(mCallback0, times(1)).onUnavailable(REASON_IMS_SERVICE_NOT_READY);
+        verify(mCallback0, times(2)).onUnavailable(anyInt());
+        verify(mCallback1, times(1)).onUnavailable(REASON_IMS_SERVICE_NOT_READY);
+        verify(mCallback1, times(2)).onUnavailable(anyInt());
+        verify(mCallback2, times(1)).onUnavailable(anyInt());
+        verify(mCallback2, times(1)).onUnavailable(anyInt());
+        verify(mCallback3, times(1)).onUnavailable(anyInt());
+        verify(mCallback3, times(1)).onUnavailable(anyInt());
+
+        mMmTelConnectorListenerSlot1.getValue()
+                .connectionUnavailable(UNAVAILABLE_REASON_NOT_READY);
+        processAllMessages();
+        verify(mCallback0, times(1)).onUnavailable(REASON_IMS_SERVICE_NOT_READY);
+        verify(mCallback0, times(2)).onUnavailable(anyInt());
+        verify(mCallback1, times(1)).onUnavailable(REASON_IMS_SERVICE_NOT_READY);
+        verify(mCallback1, times(2)).onUnavailable(anyInt());
+        verify(mCallback2, times(1)).onUnavailable(REASON_IMS_SERVICE_NOT_READY);
+        verify(mCallback2, times(2)).onUnavailable(anyInt());
+        verify(mCallback3, times(1)).onUnavailable(anyInt());
+        verify(mCallback3, times(1)).onUnavailable(anyInt());
+
+        mRcsConnectorListenerSlot1.getValue()
+                .connectionUnavailable(UNAVAILABLE_REASON_NOT_READY);
+        processAllMessages();
+        verify(mCallback0, times(1)).onUnavailable(REASON_IMS_SERVICE_NOT_READY);
+        verify(mCallback0, times(2)).onUnavailable(anyInt());
+        verify(mCallback1, times(1)).onUnavailable(REASON_IMS_SERVICE_NOT_READY);
+        verify(mCallback1, times(2)).onUnavailable(anyInt());
+        verify(mCallback2, times(1)).onUnavailable(REASON_IMS_SERVICE_NOT_READY);
+        verify(mCallback2, times(2)).onUnavailable(anyInt());
+        verify(mCallback3, times(1)).onUnavailable(REASON_IMS_SERVICE_NOT_READY);
+        verify(mCallback3, times(2)).onUnavailable(anyInt());
+
+        // connectionReady
+        mMmTelConnectorListenerSlot0.getValue().connectionReady(null, SLOT_0_SUB_ID);
+        processAllMessages();
+        verify(mCallback0, times(1)).onAvailable();
+        verify(mCallback1, times(0)).onAvailable();
+        verify(mCallback2, times(0)).onAvailable();
+        verify(mCallback3, times(0)).onAvailable();
+        verify(mCallback0, times(2)).onUnavailable(anyInt());
+        verify(mCallback1, times(2)).onUnavailable(anyInt());
+        verify(mCallback2, times(2)).onUnavailable(anyInt());
+        verify(mCallback3, times(2)).onUnavailable(anyInt());
+
+        mRcsConnectorListenerSlot0.getValue().connectionReady(null, SLOT_0_SUB_ID);
+        processAllMessages();
+        verify(mCallback0, times(1)).onAvailable();
+        verify(mCallback1, times(0)).onAvailable();
+        verify(mCallback2, times(0)).onAvailable();
+        verify(mCallback3, times(0)).onAvailable();
+        verify(mCallback0, times(2)).onUnavailable(anyInt());
+        verify(mCallback1, times(2)).onUnavailable(anyInt());
+        verify(mCallback2, times(2)).onUnavailable(anyInt());
+        verify(mCallback3, times(2)).onUnavailable(anyInt());
+
+        mImsStateCallbackController.notifyExternalRcsStateChanged(SLOT_0, true, true);
+        processAllMessages();
+        verify(mCallback0, times(1)).onAvailable();
+        verify(mCallback1, times(1)).onAvailable();
+        verify(mCallback2, times(0)).onAvailable();
+        verify(mCallback3, times(0)).onAvailable();
+        verify(mCallback0, times(2)).onUnavailable(anyInt());
+        verify(mCallback1, times(2)).onUnavailable(anyInt());
+        verify(mCallback2, times(2)).onUnavailable(anyInt());
+        verify(mCallback3, times(2)).onUnavailable(anyInt());
+
+        mMmTelConnectorListenerSlot1.getValue().connectionReady(null, SLOT_1_SUB_ID);
+        processAllMessages();
+        verify(mCallback0, times(1)).onAvailable();
+        verify(mCallback1, times(1)).onAvailable();
+        verify(mCallback2, times(1)).onAvailable();
+        verify(mCallback3, times(0)).onAvailable();
+        verify(mCallback0, times(2)).onUnavailable(anyInt());
+        verify(mCallback1, times(2)).onUnavailable(anyInt());
+        verify(mCallback2, times(2)).onUnavailable(anyInt());
+        verify(mCallback3, times(2)).onUnavailable(anyInt());
+
+        mRcsConnectorListenerSlot1.getValue().connectionReady(null, SLOT_1_SUB_ID);
+        processAllMessages();
+        verify(mCallback0, times(1)).onAvailable();
+        verify(mCallback1, times(1)).onAvailable();
+        verify(mCallback2, times(1)).onAvailable();
+        verify(mCallback3, times(0)).onAvailable();
+        verify(mCallback0, times(2)).onUnavailable(anyInt());
+        verify(mCallback1, times(2)).onUnavailable(anyInt());
+        verify(mCallback2, times(2)).onUnavailable(anyInt());
+        verify(mCallback3, times(2)).onUnavailable(anyInt());
+
+        mImsStateCallbackController.notifyExternalRcsStateChanged(SLOT_1, true, true);
+        processAllMessages();
+        verify(mCallback0, times(1)).onAvailable();
+        verify(mCallback1, times(1)).onAvailable();
+        verify(mCallback2, times(1)).onAvailable();
+        verify(mCallback3, times(1)).onAvailable();
+        verify(mCallback0, times(2)).onUnavailable(anyInt());
+        verify(mCallback1, times(2)).onUnavailable(anyInt());
+        verify(mCallback2, times(2)).onUnavailable(anyInt());
+        verify(mCallback3, times(2)).onUnavailable(anyInt());
+
+        // unregistration
+        mImsStateCallbackController.unregisterImsStateCallback(mCallback0);
+        processAllMessages();
+        assertFalse(mImsStateCallbackController.isRegistered(mCallback0));
+        assertTrue(mImsStateCallbackController.isRegistered(mCallback1));
+        assertTrue(mImsStateCallbackController.isRegistered(mCallback2));
+        assertTrue(mImsStateCallbackController.isRegistered(mCallback3));
+
+        mImsStateCallbackController.unregisterImsStateCallback(mCallback1);
+        processAllMessages();
+        assertFalse(mImsStateCallbackController.isRegistered(mCallback0));
+        assertFalse(mImsStateCallbackController.isRegistered(mCallback1));
+        assertTrue(mImsStateCallbackController.isRegistered(mCallback2));
+        assertTrue(mImsStateCallbackController.isRegistered(mCallback3));
+
+        mImsStateCallbackController.unregisterImsStateCallback(mCallback2);
+        processAllMessages();
+        assertFalse(mImsStateCallbackController.isRegistered(mCallback0));
+        assertFalse(mImsStateCallbackController.isRegistered(mCallback1));
+        assertFalse(mImsStateCallbackController.isRegistered(mCallback2));
+        assertTrue(mImsStateCallbackController.isRegistered(mCallback3));
+
+        mImsStateCallbackController.unregisterImsStateCallback(mCallback3);
+        processAllMessages();
+        assertFalse(mImsStateCallbackController.isRegistered(mCallback0));
+        assertFalse(mImsStateCallbackController.isRegistered(mCallback1));
+        assertFalse(mImsStateCallbackController.isRegistered(mCallback2));
+        assertFalse(mImsStateCallbackController.isRegistered(mCallback3));
+    }
+
+    @Test
+    @SmallTest
+    public void testSlotUpdates() throws Exception {
+        createController(1);
+
+        verify(mMmTelFeatureConnectorSlot0, times(1)).connect();
+        verify(mRcsFeatureConnectorSlot0, times(1)).connect();
+        verify(mMmTelFeatureConnectorSlot0, times(0)).disconnect();
+        verify(mRcsFeatureConnectorSlot0, times(0)).disconnect();
+
+        // Add a new slot.
+        mImsStateCallbackController.updateFeatureControllerSize(2);
+
+        // connect in slot 1
+        verify(mMmTelFeatureConnectorSlot1, times(1)).connect();
+        verify(mRcsFeatureConnectorSlot1, times(1)).connect();
+
+        // no change in slot 0
+        verify(mMmTelFeatureConnectorSlot0, times(1)).connect();
+        verify(mRcsFeatureConnectorSlot0, times(1)).connect();
+
+        // Remove a slot.
+        mImsStateCallbackController.updateFeatureControllerSize(1);
+
+        // destroy in slot 1
+        verify(mMmTelFeatureConnectorSlot1, times(1)).disconnect();
+        verify(mRcsFeatureConnectorSlot1, times(1)).disconnect();
+
+        // no change in slot 0
+        verify(mMmTelFeatureConnectorSlot0, times(0)).disconnect();
+        verify(mRcsFeatureConnectorSlot0, times(0)).disconnect();
+    }
+
+    @Test
+    @SmallTest
+    public void testMmTelConnectionReadyWhenReEnableSim() throws Exception {
+        createController(1);
+
+        // MMTEL feature
+        mMmTelConnectorListenerSlot0.getValue().connectionReady(null, SLOT_0_SUB_ID);
+        processAllMessages();
+        mMmTelConnectorListenerSlot0.getValue()
+                .connectionUnavailable(UNAVAILABLE_REASON_DISCONNECTED);
+        processAllMessages();
+        mMmTelConnectorListenerSlot0.getValue().connectionReady(null,
+                SubscriptionManager.INVALID_SUBSCRIPTION_ID);
+        processAllMessages();
+        mImsStateCallbackController
+                .registerImsStateCallback(SLOT_0_SUB_ID, FEATURE_MMTEL, mCallback0, "callback0");
+        processAllMessages();
+
+        assertTrue(mImsStateCallbackController.isRegistered(mCallback0));
+        verify(mCallback0, times(1)).onUnavailable(REASON_IMS_SERVICE_DISCONNECTED);
+        verify(mCallback0, times(0)).onAvailable();
+
+        mImsStateCallbackController.unregisterImsStateCallback(mCallback0);
+        processAllMessages();
+        assertFalse(mImsStateCallbackController.isRegistered(mCallback0));
+
+        // RCS feature
+        // TelephonyRcsService notifying active features
+        mImsStateCallbackController.notifyExternalRcsStateChanged(SLOT_0, false, true);
+        processAllMessages();
+        // RcsFeatureController notifying STATE_READY
+        mImsStateCallbackController.notifyExternalRcsStateChanged(SLOT_0, true, true);
+        processAllMessages();
+        mRcsConnectorListenerSlot0.getValue()
+                .connectionUnavailable(UNAVAILABLE_REASON_DISCONNECTED);
+        processAllMessages();
+        mRcsConnectorListenerSlot0.getValue().connectionReady(null,
+                SubscriptionManager.INVALID_SUBSCRIPTION_ID);
+        processAllMessages();
+        mImsStateCallbackController
+                .registerImsStateCallback(SLOT_0_SUB_ID, FEATURE_RCS, mCallback1, "callback1");
+        processAllMessages();
+
+        assertTrue(mImsStateCallbackController.isRegistered(mCallback1));
+        verify(mCallback1, times(1)).onUnavailable(REASON_IMS_SERVICE_DISCONNECTED);
+        verify(mCallback1, times(0)).onAvailable();
+
+        mImsStateCallbackController.unregisterImsStateCallback(mCallback1);
+        processAllMessages();
+        assertFalse(mImsStateCallbackController.isRegistered(mCallback1));
+    }
+
+    private void createController(int slotCount) throws Exception {
+        if (Looper.myLooper() == null) {
+            Looper.prepare();
+        }
+        makeFakeActiveSubIds(slotCount);
+
+        when(mMmTelFeatureFactory
+                .create(any(), eq(0), any(), mMmTelConnectorListenerSlot0.capture(), any()))
+                .thenReturn(mMmTelFeatureConnectorSlot0);
+        when(mMmTelFeatureFactory
+                .create(any(), eq(1), any(), mMmTelConnectorListenerSlot1.capture(), any()))
+                .thenReturn(mMmTelFeatureConnectorSlot1);
+        when(mRcsFeatureFactory
+                .create(any(), eq(0), mRcsConnectorListenerSlot0.capture(), any(), any()))
+                .thenReturn(mRcsFeatureConnectorSlot0);
+        when(mRcsFeatureFactory
+                .create(any(), eq(1), mRcsConnectorListenerSlot1.capture(), any(), any()))
+                .thenReturn(mRcsFeatureConnectorSlot1);
+
+        mImsStateCallbackController =
+                new ImsStateCallbackController(mPhone, mHandlerThread.getLooper(),
+                        slotCount, mMmTelFeatureFactory, mRcsFeatureFactory, mImsResolver);
+
+        replaceInstance(ImsStateCallbackController.class,
+                "mPhoneFactoryProxy", mImsStateCallbackController, mPhoneFactoryProxy);
+        mImsStateCallbackController.onSubChanged();
+
+        mHandler = mImsStateCallbackController.getHandler();
+        try {
+            mLooper = new TestableLooper(mHandler.getLooper());
+        } catch (Exception e) {
+            logd("Unable to create looper from handler.");
+        }
+
+        verify(mRcsFeatureConnectorSlot0, atLeastOnce()).connect();
+        verify(mMmTelFeatureConnectorSlot0, atLeastOnce()).connect();
+
+        if (slotCount == 1) {
+            verify(mRcsFeatureConnectorSlot1, times(0)).connect();
+            verify(mMmTelFeatureConnectorSlot1, times(0)).connect();
+        } else {
+            verify(mRcsFeatureConnectorSlot1, atLeastOnce()).connect();
+            verify(mMmTelFeatureConnectorSlot1, atLeastOnce()).connect();
+        }
+    }
+
+    private static void replaceInstance(final Class c,
+            final String instanceName, final Object obj, final Object newValue) throws Exception {
+        Field field = c.getDeclaredField(instanceName);
+        field.setAccessible(true);
+        field.set(obj, newValue);
+    }
+
+    private void makeFakeActiveSubIds(int count) {
+        final int[] subIds = new int[count];
+        for (int i = 0; i < count; i++) {
+            subIds[i] = FAKE_SUB_ID_BASE + i;
+        }
+        when(mSubscriptionManager.getActiveSubscriptionIdList()).thenReturn(subIds);
+    }
+
+    private void processAllMessages() {
+        while (!mLooper.getLooper().getQueue().isIdle()) {
+            mLooper.processAllMessages();
+        }
+    }
+
+    private static void logd(String str) {
+        Log.d(TAG, str);
+    }
+}
diff --git a/tests/src/com/android/phone/LocationAccessPolicyTest.java b/tests/src/com/android/phone/LocationAccessPolicyTest.java
index 84bf619..58e7fbd 100644
--- a/tests/src/com/android/phone/LocationAccessPolicyTest.java
+++ b/tests/src/com/android/phone/LocationAccessPolicyTest.java
@@ -29,6 +29,7 @@
 import android.content.Context;
 import android.content.pm.ApplicationInfo;
 import android.content.pm.PackageManager;
+import android.content.res.Resources;
 import android.location.LocationManager;
 import android.os.Build;
 import android.os.UserHandle;
@@ -149,11 +150,13 @@
 
     private static final int TESTING_UID = 10001;
     private static final int TESTING_PID = 8009;
+    private static final String TESTING_CALLING_PACKAGE = "com.android.phone";
 
     @Mock Context mContext;
     @Mock AppOpsManager mAppOpsManager;
     @Mock LocationManager mLocationManager;
     @Mock PackageManager mPackageManager;
+    @Mock Resources mResources;
     Scenario mScenario;
 
     @Before
@@ -163,6 +166,10 @@
         mockContextSystemService(LocationManager.class, mLocationManager);
         mockContextSystemService(PackageManager.class, mPackageManager);
         when(mContext.getPackageManager()).thenReturn(mPackageManager);
+        when(mContext.getResources()).thenReturn(mResources);
+        when(mResources.getStringArray(
+                com.android.internal.R.array.config_serviceStateLocationAllowedPackages))
+                .thenReturn(new String[]{TESTING_CALLING_PACKAGE});
     }
 
     private <T> void mockContextSystemService(Class<T> clazz , T obj) {
@@ -249,6 +256,20 @@
                 .build());
 
         scenarios.add(new Scenario.Builder()
+                .setName("System location is off but package is allowlisted for location")
+                .setAppHasFineManifest(true)
+                .setFineAppOp(AppOpsManager.MODE_ALLOWED)
+                .setAppSdkLevel(Build.VERSION_CODES.P)
+                .setIsDynamicLocationEnabled(false)
+                .setQuery(getDefaultQueryBuilder()
+                        .setMinSdkVersionForEnforcement(Build.VERSION_CODES.N)
+                        .setMinSdkVersionForFine(Build.VERSION_CODES.N)
+                        .setMinSdkVersionForCoarse(Build.VERSION_CODES.N)
+                        .setCallingPackage(TESTING_CALLING_PACKAGE).build())
+                .setExpectedResult(LocationAccessPolicy.LocationPermissionResult.ALLOWED)
+                .build());
+
+        scenarios.add(new Scenario.Builder()
                 .setName("App on latest SDK level has all proper permissions for fine")
                 .setAppHasFineManifest(true)
                 .setFineAppOp(AppOpsManager.MODE_ALLOWED)
diff --git a/tests/src/com/android/phone/PhoneUtilsTest.java b/tests/src/com/android/phone/PhoneUtilsTest.java
new file mode 100644
index 0000000..eb4c248
--- /dev/null
+++ b/tests/src/com/android/phone/PhoneUtilsTest.java
@@ -0,0 +1,153 @@
+/*
+ * Copyright (C) 2022 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.phone;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+import static org.mockito.Mockito.eq;
+import static org.mockito.Mockito.when;
+
+import android.content.ComponentName;
+import android.telecom.PhoneAccountHandle;
+import android.telephony.SubscriptionInfo;
+import android.telephony.SubscriptionManager;
+
+import androidx.test.runner.AndroidJUnit4;
+
+import com.android.internal.telephony.GsmCdmaPhone;
+import com.android.internal.telephony.Phone;
+import com.android.internal.telephony.PhoneFactory;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+
+import java.lang.reflect.Field;
+import java.util.ArrayList;
+import java.util.HashMap;
+
+@RunWith(AndroidJUnit4.class)
+public class PhoneUtilsTest {
+    @Mock
+    private SubscriptionManager mMockSubscriptionManager;
+    @Mock
+    private SubscriptionInfo mMockSubscriptionInfo;
+    @Mock
+    private GsmCdmaPhone mMockPhone;
+
+    private final int mPhoneAccountHandleIdInteger = 123;
+    private final String mPhoneAccountHandleIdString = "123";
+    private static final ComponentName PSTN_CONNECTION_SERVICE_COMPONENT = new ComponentName(
+            "com.android.phone", "com.android.services.telephony.TelephonyConnectionService");
+    private PhoneAccountHandle mPhoneAccountHandleTest = new PhoneAccountHandle(
+            PSTN_CONNECTION_SERVICE_COMPONENT, mPhoneAccountHandleIdString);
+
+    private HashMap<InstanceKey, Object> mOldInstances = new HashMap<InstanceKey, Object>();
+
+    private ArrayList<InstanceKey> mInstanceKeys = new ArrayList<InstanceKey>();
+
+    private static class InstanceKey {
+        public final Class mClass;
+        public final String mInstName;
+        public final Object mObj;
+        InstanceKey(final Class c, final String instName, final Object obj) {
+            mClass = c;
+            mInstName = instName;
+            mObj = obj;
+        }
+
+        @Override
+        public int hashCode() {
+            return (mClass.getName().hashCode() * 31 + mInstName.hashCode()) * 31;
+        }
+
+        @Override
+        public boolean equals(Object obj) {
+            if (obj == null || !(obj instanceof InstanceKey)) {
+                return false;
+            }
+
+            InstanceKey other = (InstanceKey) obj;
+            return (other.mClass == mClass && other.mInstName.equals(mInstName)
+                    && other.mObj == mObj);
+        }
+    }
+
+    @Before
+    public void setUp() throws Exception {
+        MockitoAnnotations.initMocks(this);
+        when(mMockSubscriptionManager.getActiveSubscriptionInfo(
+                eq(mPhoneAccountHandleIdInteger))).thenReturn(mMockSubscriptionInfo);
+        when(mMockPhone.getSubId()).thenReturn(mPhoneAccountHandleIdInteger);
+        Phone[] mPhones = new Phone[] {mMockPhone};
+        replaceInstance(PhoneFactory.class, "sPhones", null, mPhones);
+    }
+
+    @After
+    public void tearDown() throws Exception {
+        restoreInstance(PhoneFactory.class, "sPhones", null);
+    }
+
+    protected synchronized void replaceInstance(final Class c, final String instanceName,
+            final Object obj, final Object newValue)
+            throws Exception {
+        Field field = c.getDeclaredField(instanceName);
+        field.setAccessible(true);
+
+        InstanceKey key = new InstanceKey(c, instanceName, obj);
+        if (!mOldInstances.containsKey(key)) {
+            mOldInstances.put(key, field.get(obj));
+            mInstanceKeys.add(key);
+        }
+        field.set(obj, newValue);
+    }
+
+    protected synchronized void restoreInstance(final Class c, final String instanceName,
+            final Object obj) throws Exception {
+        InstanceKey key = new InstanceKey(c, instanceName, obj);
+        if (mOldInstances.containsKey(key)) {
+            Field field = c.getDeclaredField(instanceName);
+            field.setAccessible(true);
+            field.set(obj, mOldInstances.get(key));
+            mOldInstances.remove(key);
+            mInstanceKeys.remove(key);
+        }
+    }
+
+    @Test
+    public void testIsPhoneAccountActive() throws Exception {
+        assertTrue(PhoneUtils.isPhoneAccountActive(
+                mMockSubscriptionManager, mPhoneAccountHandleTest));
+    }
+
+    @Test
+    public void testGetPhoneForPhoneAccountHandle() throws Exception {
+        assertEquals(mMockPhone, PhoneUtils.getPhoneForPhoneAccountHandle(
+                mPhoneAccountHandleTest));
+    }
+
+    @Test
+    public void testMakePstnPhoneAccountHandleWithPrefix() throws Exception {
+        PhoneAccountHandle phoneAccountHandleTest = new PhoneAccountHandle(
+                PSTN_CONNECTION_SERVICE_COMPONENT, mPhoneAccountHandleIdString);
+        assertEquals(phoneAccountHandleTest, PhoneUtils.makePstnPhoneAccountHandleWithPrefix(
+                mPhoneAccountHandleIdString, "", false));
+    }
+}
diff --git a/tests/src/com/android/phone/RcsProvisioningMonitorTest.java b/tests/src/com/android/phone/RcsProvisioningMonitorTest.java
index 8873402..57f9f6b 100644
--- a/tests/src/com/android/phone/RcsProvisioningMonitorTest.java
+++ b/tests/src/com/android/phone/RcsProvisioningMonitorTest.java
@@ -152,6 +152,7 @@
     private MockContentResolver mContentResolver = new MockContentResolver();
     private SimInfoContentProvider mProvider;
     private BroadcastReceiver mReceiver;
+    private static final int TEST_SUB_ID = 1;
     @Mock
     private Cursor mCursor;
     @Mock
@@ -853,7 +854,7 @@
         } catch (Exception e) {
             logd("Unable to create looper from handler.");
         }
-        mConnectorListener.getValue().connectionReady(mFeatureManager);
+        mConnectorListener.getValue().connectionReady(mFeatureManager, TEST_SUB_ID);
 
         verify(mFeatureConnector, atLeastOnce()).connect();
     }
diff --git a/tests/src/com/android/phone/ServiceStateProviderTest.java b/tests/src/com/android/phone/ServiceStateProviderTest.java
index 4ace460..4bbde79 100644
--- a/tests/src/com/android/phone/ServiceStateProviderTest.java
+++ b/tests/src/com/android/phone/ServiceStateProviderTest.java
@@ -27,6 +27,7 @@
 import static android.provider.Telephony.ServiceStateTable.getUriForSubscriptionId;
 import static android.telephony.NetworkRegistrationInfo.REGISTRATION_STATE_HOME;
 
+import static com.android.phone.ServiceStateProvider.ENFORCE_LOCATION_PERMISSION_CHECK;
 import static com.android.phone.ServiceStateProvider.NETWORK_ID;
 
 import static org.junit.Assert.assertEquals;
@@ -46,6 +47,7 @@
 
 import android.Manifest;
 import android.app.AppOpsManager;
+import android.compat.testing.PlatformCompatChangeRule;
 import android.content.Context;
 import android.content.pm.ApplicationInfo;
 import android.content.pm.PackageManager;
@@ -66,10 +68,14 @@
 
 import androidx.test.ext.junit.runners.AndroidJUnit4;
 
+import libcore.junit.util.compat.CoreCompatChangeRule;
+
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Ignore;
+import org.junit.Rule;
 import org.junit.Test;
+import org.junit.rules.TestRule;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
 import org.mockito.MockitoAnnotations;
@@ -95,6 +101,9 @@
     @Mock LocationManager mLocationManager;
     @Mock PackageManager mPackageManager;
 
+    @Rule
+    public TestRule compatChangeRule = new PlatformCompatChangeRule();
+
     // Exception used internally to verify if the Resolver#notifyChange has been called.
     private class TestNotifierException extends RuntimeException {
         TestNotifierException() {
@@ -174,6 +183,7 @@
     // TODO(b/191995565): Turn this on when location access can be off
     @Ignore
     @SmallTest
+    @CoreCompatChangeRule.EnableCompatChanges({ENFORCE_LOCATION_PERMISSION_CHECK})
     public void testQueryServiceState_withNoSubId_withoutLocation() {
         setLocationPermissions(false);
 
@@ -243,7 +253,19 @@
      * public columns of ServiceStateTable.
      */
     @Test
-    public void query_publicColumns_targetS_noReadPrivilege_getPublicColumns() {
+    @CoreCompatChangeRule.EnableCompatChanges({ENFORCE_LOCATION_PERMISSION_CHECK})
+    public void
+    query_publicColumns_enforceLocatoinEnabled_targetS_noReadPrivilege_getPublicColumns() {
+        setTargetSdkVersion(Build.VERSION_CODES.S);
+        setCanReadPrivilegedPhoneState(false);
+
+        verifyServiceStateWithPublicColumns(mTestServiceState, null /*projection*/);
+    }
+
+    @Test
+    @CoreCompatChangeRule.DisableCompatChanges({ENFORCE_LOCATION_PERMISSION_CHECK})
+    public void
+    query_publicColumns_enforceLocationDisabled_targetS_noReadPrivilege_getPublicColumns() {
         setTargetSdkVersion(Build.VERSION_CODES.S);
         setCanReadPrivilegedPhoneState(false);
 
@@ -255,6 +277,7 @@
      * non-public columns should throw IllegalArgumentException.
      */
     @Test
+    @CoreCompatChangeRule.EnableCompatChanges({ENFORCE_LOCATION_PERMISSION_CHECK})
     public void query_hideColumn_targetS_noReadPrivilege_throwIllegalArgumentException() {
         setTargetSdkVersion(Build.VERSION_CODES.S);
         setCanReadPrivilegedPhoneState(false);
@@ -267,11 +290,30 @@
     }
 
     /**
-     * Verify that apps target S+ with READ_PRIVILEGED_PHONE_STATE and location permissions should
-     * be able to access all columns.
+     * Verify that with changeId ENFORCE_LOCATION_PERMISSION_CHECK enabled, apps target S+ with
+     * READ_PRIVILEGED_PHONE_STATE and location permissions should be able to access all columns.
      */
     @Test
-    public void query_allColumn_targetS_withReadPrivilegedAndLocation_getAllStateUnredacted() {
+    @CoreCompatChangeRule.EnableCompatChanges({ENFORCE_LOCATION_PERMISSION_CHECK})
+    public void
+    query_allColumn_enforceLocationEnabled_targetS_withReadPrivilegedAndLocation_getUnredacted() {
+        setTargetSdkVersion(Build.VERSION_CODES.S);
+        setCanReadPrivilegedPhoneState(true);
+        setLocationPermissions(true);
+
+        verifyServiceStateForSubId(
+                getUriForSubscriptionId(SubscriptionManager.DEFAULT_SUBSCRIPTION_ID),
+                mTestServiceState, true /*hasPermission*/);
+    }
+
+    /**
+     * Verify that with changeId ENFORCE_LOCATION_PERMISSION_CHECK disabled, apps target S+ with
+     * READ_PRIVILEGED_PHONE_STATE and location permissions should be able to access all columns.
+     */
+    @Test
+    @CoreCompatChangeRule.DisableCompatChanges({ENFORCE_LOCATION_PERMISSION_CHECK})
+    public void
+    query_allColumn_enforceLocationDisabled_targetS_withReadPrivilegedAndLocation_getUnredacted() {
         setTargetSdkVersion(Build.VERSION_CODES.S);
         setCanReadPrivilegedPhoneState(true);
         setLocationPermissions(true);
@@ -287,6 +329,7 @@
      */
     // TODO(b/191995565): Turn this on once b/191995565 is integrated
     @Ignore
+    @CoreCompatChangeRule.EnableCompatChanges({ENFORCE_LOCATION_PERMISSION_CHECK})
     public void query_locationColumn_targetS_withReadPrivilegeNoLocation_throwSecurityExecption() {
         setTargetSdkVersion(Build.VERSION_CODES.S);
         setCanReadPrivilegedPhoneState(true);
@@ -297,10 +340,12 @@
     }
 
     /**
-     * Verify that apps target R- with location permissions should be able to access all columns.
+     * Verify that when changeId ENFORCE_LOCATION_PERMISSION_CHECK is enabled, apps target R- with
+     * location permissions should be able to access all columns.
      */
     @Test
-    public void query_allColumn_targetR_withLocation_getAllStateUnredacted() {
+    @CoreCompatChangeRule.EnableCompatChanges({ENFORCE_LOCATION_PERMISSION_CHECK})
+    public void query_allColumn_enforceLocationEnabled_targetR_withLocation_getUnredacted() {
         setTargetSdkVersion(Build.VERSION_CODES.R);
         setLocationPermissions(true);
 
@@ -310,12 +355,28 @@
     }
 
     /**
-     * Verify that apps target R- w/o location permissions should be able to access all columns but
-     * with redacted ServiceState.
+     * Verify that when changeId ENFORCE_LOCATION_PERMISSION_CHECK is disabled, apps target R- with
+     * location permissions should be able to access all columns.
+     */
+    @Test
+    @CoreCompatChangeRule.DisableCompatChanges({ENFORCE_LOCATION_PERMISSION_CHECK})
+    public void query_allColumn_enforceLocationDisabled_targetR_withLocation_getUnredacted() {
+        setTargetSdkVersion(Build.VERSION_CODES.R);
+        setLocationPermissions(true);
+
+        verifyServiceStateForSubId(
+                getUriForSubscriptionId(SubscriptionManager.DEFAULT_SUBSCRIPTION_ID),
+                mTestServiceState, true /*hasPermission*/);
+    }
+
+    /**
+     * Verify that changeId ENFORCE_LOCATION_PERMISSION_CHECK is enabled, apps target R- w/o
+     * location permissions should be able to access all columns but with redacted ServiceState.
      */
     // TODO(b/191995565): Turn case on when location access can be off
     @Ignore
-    public void query_allColumn_targetR_noLocation_getRedacted() {
+    @CoreCompatChangeRule.EnableCompatChanges({ENFORCE_LOCATION_PERMISSION_CHECK})
+    public void query_allColumn_enforceLocationEnabled_targetR_noLocation_getRedacted() {
         setTargetSdkVersion(Build.VERSION_CODES.R);
         setLocationPermissions(false);
 
@@ -326,10 +387,27 @@
     }
 
     /**
+     * Verify that changeId ENFORCE_LOCATION_PERMISSION_CHECK is disabled, apps target R- w/o
+     * location permissions should be able to access all columns and with unredacted ServiceState.
+     */
+    // TODO(b/191995565): Turn case on when location access can be off
+    @Ignore
+    @CoreCompatChangeRule.DisableCompatChanges({ENFORCE_LOCATION_PERMISSION_CHECK})
+    public void query_allColumn_enforceLocationDisabled_targetR_noLocation_getUnredacted() {
+        setTargetSdkVersion(Build.VERSION_CODES.R);
+        setLocationPermissions(false);
+
+        verifyServiceStateForSubId(
+                getUriForSubscriptionId(SubscriptionManager.DEFAULT_SUBSCRIPTION_ID),
+                mTestServiceState, true /*hasPermission*/);
+    }
+
+    /**
      * Verify that when caller with targetSDK S+ has location permission and try to query
      * location non-sensitive info, it should not get blamed.
      */
     @Test
+    @CoreCompatChangeRule.EnableCompatChanges({ENFORCE_LOCATION_PERMISSION_CHECK})
     public void testQuery_noLocationBlamed_whenQueryNonLocationInfo_withPermission() {
         setTargetSdkVersion(Build.VERSION_CODES.S);
         setLocationPermissions(true);
@@ -339,6 +417,7 @@
     }
 
     private void verifyServiceStateWithLocationColumns(ServiceState ss) {
+        // NETWORK_ID is a location-sensitive column
         try (Cursor cursor = mContentResolver.query(ServiceStateTable.CONTENT_URI,
                 new String[]{NETWORK_ID}, null, null)) {
             assertNotNull(cursor);
@@ -349,7 +428,6 @@
         try (Cursor cursor = mContentResolver.query(ServiceStateTable.CONTENT_URI, projection, null,
                 null)) {
             assertNotNull(cursor);
-            assertEquals(cursor.getColumnCount(), ServiceStateProvider.PUBLIC_COLUMNS.length);
 
             cursor.moveToFirst();
             assertEquals(ss.getVoiceRegState(),
diff --git a/tests/src/com/android/phone/SimPhonebookProviderTest.java b/tests/src/com/android/phone/SimPhonebookProviderTest.java
index 29a653d..d8518f8 100644
--- a/tests/src/com/android/phone/SimPhonebookProviderTest.java
+++ b/tests/src/com/android/phone/SimPhonebookProviderTest.java
@@ -28,6 +28,7 @@
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.ArgumentMatchers.anyInt;
 import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.doNothing;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.times;
@@ -180,16 +181,16 @@
     public void query_entityFiles_multiSim_returnsCursorWithRowForEachSimEf() {
         setupSimsWithSubscriptionIds(2, 3, 7);
 
-        mIccPhoneBook.setRecordsSize(2, IccConstants.EF_ADN, 10, 25);
-        mIccPhoneBook.setRecordsSize(2, IccConstants.EF_FDN, 5, 20);
-        mIccPhoneBook.setRecordsSize(2, IccConstants.EF_SDN, 15, 20);
-        mIccPhoneBook.setRecordsSize(3, IccConstants.EF_ADN, 100, 30);
+        mIccPhoneBook.setupEfWithSizes(2, IccConstants.EF_ADN, 10, 25);
+        mIccPhoneBook.setupEfWithSizes(2, IccConstants.EF_FDN, 5, 20);
+        mIccPhoneBook.setupEfWithSizes(2, IccConstants.EF_SDN, 15, 20);
+        mIccPhoneBook.setupEfWithSizes(3, IccConstants.EF_ADN, 100, 30);
         // These Will be omitted from results because zero size indicates the EF is not supported.
-        mIccPhoneBook.setRecordsSize(3, IccConstants.EF_FDN, 0, 0);
-        mIccPhoneBook.setRecordsSize(3, IccConstants.EF_SDN, 0, 0);
-        mIccPhoneBook.setRecordsSize(7, IccConstants.EF_ADN, 0, 0);
-        mIccPhoneBook.setRecordsSize(7, IccConstants.EF_FDN, 0, 0);
-        mIccPhoneBook.setRecordsSize(7, IccConstants.EF_SDN, 0, 0);
+        mIccPhoneBook.setupEfWithSizes(3, IccConstants.EF_FDN, 0, 0);
+        mIccPhoneBook.setupEfWithSizes(3, IccConstants.EF_SDN, 0, 0);
+        mIccPhoneBook.setupEfWithSizes(7, IccConstants.EF_ADN, 0, 0);
+        mIccPhoneBook.setupEfWithSizes(7, IccConstants.EF_FDN, 0, 0);
+        mIccPhoneBook.setupEfWithSizes(7, IccConstants.EF_SDN, 0, 0);
 
         String[] projection = {
                 ElementaryFiles.SLOT_INDEX, ElementaryFiles.SUBSCRIPTION_ID,
@@ -211,15 +212,44 @@
     public void query_entityFiles_simWithZeroSizes_returnsEmptyCursor() {
         setupSimsWithSubscriptionIds(1);
 
-        mIccPhoneBook.setRecordsSize(1, IccConstants.EF_ADN, 0, 0);
-        mIccPhoneBook.setRecordsSize(1, IccConstants.EF_FDN, 0, 0);
-        mIccPhoneBook.setRecordsSize(1, IccConstants.EF_SDN, 0, 0);
+        mIccPhoneBook.setupEfWithSizes(1, IccConstants.EF_ADN, 0, 0);
+        mIccPhoneBook.setupEfWithSizes(1, IccConstants.EF_FDN, 0, 0);
+        mIccPhoneBook.setupEfWithSizes(1, IccConstants.EF_SDN, 0, 0);
 
         try (Cursor cursor = mResolver.query(ElementaryFiles.CONTENT_URI, null, null, null)) {
             assertThat(cursor).hasCount(0);
         }
     }
 
+    /**
+     * USIM cards support more than 255 records by having multiple files for one EF type but
+     * IIccPhoneBook.getAdnRecordsSizeForSubscriber returns the size for a single file and so is
+     * inaccurate for such SIMs.
+     *
+     * <p>See b/201385523#comment4 and b/201685690
+     */
+    @Test
+    public void query_entityFiles_adnRecordCountExceedsSize_returnsAdnRecordCountAsMaxRecords() {
+        setupSimsWithSubscriptionIds(1);
+
+        // There are 400 records returned by getAdnRecordsInEfForSubscriber but the count returned
+        // by getAdnRecordsSizeForSubscriber is only 200.
+        AdnRecord[] records = mIccPhoneBook.createEmptyRecords(IccConstants.EF_ADN, 400);
+        mIccPhoneBook.setRecordsSize(1, IccConstants.EF_ADN, 200, 20);
+        mIccPhoneBook.setRecords(1, IccConstants.EF_ADN, records);
+
+        String[] projection = {
+                ElementaryFiles.SUBSCRIPTION_ID, ElementaryFiles.EF_TYPE,
+                ElementaryFiles.MAX_RECORDS
+        };
+        try (Cursor cursor = mResolver.query(
+                ElementaryFiles.CONTENT_URI, projection, null, null)) {
+            assertThat(cursor).hasCount(1);
+            assertThat(cursor)
+                    .atRow(0).hasRowValues(1, ElementaryFiles.EF_ADN, 400);
+        }
+    }
+
     @Test
     public void query_entityFilesItem_nullProjection_returnsCursorWithCorrectProjection() {
         setupSimsWithSubscriptionIds(1);
@@ -548,7 +578,7 @@
     @Test
     public void query_adnRecords_zeroSizeEf_throwsCorrectException() {
         setupSimsWithSubscriptionIds(1);
-        mIccPhoneBook.setRecordsSize(1, IccConstants.EF_ADN, 0, 0);
+        mIccPhoneBook.setupEfWithSizes(1, IccConstants.EF_ADN, 0, 0);
 
         IllegalArgumentException e = assertThrows(IllegalArgumentException.class,
                 () -> mResolver.query(SimRecords.getContentUri(1, EF_ADN), null, null, null));
@@ -617,9 +647,9 @@
     @Test
     public void query_itemUriEmptyRecord_returnsEmptyCursor() {
         setupSimsWithSubscriptionIds(1);
-        mIccPhoneBook.setRecordsSize(1, IccConstants.EF_ADN, 1, 30);
-        mIccPhoneBook.setRecordsSize(1, IccConstants.EF_FDN, 1, 30);
-        mIccPhoneBook.setRecordsSize(1, IccConstants.EF_SDN, 1, 30);
+        mIccPhoneBook.setupEfWithSizes(1, IccConstants.EF_ADN, 1, 30);
+        mIccPhoneBook.setupEfWithSizes(1, IccConstants.EF_FDN, 1, 30);
+        mIccPhoneBook.setupEfWithSizes(1, IccConstants.EF_SDN, 1, 30);
 
         try (Cursor adnItem = mResolver.query(SimRecords.getItemUri(1, ElementaryFiles.EF_ADN, 1),
                 null, null, null);
@@ -637,9 +667,9 @@
     @Test
     public void query_itemUriIndexExceedsMax_returnsEmptyCursor() {
         setupSimsWithSubscriptionIds(1);
-        mIccPhoneBook.setRecordsSize(1, IccConstants.EF_ADN, 1, 30);
-        mIccPhoneBook.setRecordsSize(1, IccConstants.EF_FDN, 1, 30);
-        mIccPhoneBook.setRecordsSize(1, IccConstants.EF_SDN, 1, 30);
+        mIccPhoneBook.setupEfWithSizes(1, IccConstants.EF_ADN, 1, 30);
+        mIccPhoneBook.setupEfWithSizes(1, IccConstants.EF_FDN, 1, 30);
+        mIccPhoneBook.setupEfWithSizes(1, IccConstants.EF_SDN, 1, 30);
 
         try (Cursor adnItem = mResolver.query(SimRecords.getItemUri(1, ElementaryFiles.EF_ADN, 2),
                 null, null, null);
@@ -740,7 +770,7 @@
     @Test
     public void insert_efFull_throwsCorrectException() {
         setupSimsWithSubscriptionIds(1);
-        mIccPhoneBook.setRecordsSize(1, IccConstants.EF_ADN, 1, 30);
+        mIccPhoneBook.setupEfWithSizes(1, IccConstants.EF_ADN, 1, 30);
         mIccPhoneBook.addRecord(1, IccConstants.EF_ADN, "Existing", "8005550101");
 
         ContentValues values = new ContentValues();
@@ -842,7 +872,7 @@
     @Test
     public void insert_phoneNumberOmitted_throwsCorrectException() {
         setupSimsWithSubscriptionIds(1);
-        mIccPhoneBook.setRecordsSize(1, IccConstants.EF_ADN, 1, 25);
+        mIccPhoneBook.setupEfWithSizes(1, IccConstants.EF_ADN, 1, 25);
 
         ContentValues values = new ContentValues();
         values.put(SimRecords.NAME, "Name");
@@ -855,7 +885,7 @@
     @Test
     public void insert_nameTooLong_throwsCorrectException() {
         setupSimsWithSubscriptionIds(1);
-        mIccPhoneBook.setRecordsSize(1, IccConstants.EF_ADN, 1, 25);
+        mIccPhoneBook.setupEfWithSizes(1, IccConstants.EF_ADN, 1, 25);
 
         ContentValues values = new ContentValues();
         // Name is limited to 11 characters when the max record size is 25
@@ -878,7 +908,7 @@
     @Test
     public void insert_phoneNumberTooLong_throwsCorrectException() {
         setupSimsWithSubscriptionIds(1);
-        mIccPhoneBook.setRecordsSize(1, IccConstants.EF_ADN, 1, 25);
+        mIccPhoneBook.setupEfWithSizes(1, IccConstants.EF_ADN, 1, 25);
 
         ContentValues values = new ContentValues();
         values.put(SimRecords.NAME, "Name");
@@ -894,7 +924,7 @@
     @Test
     public void insert_numberWithInvalidCharacters_throwsCorrectException() {
         setupSimsWithSubscriptionIds(1);
-        mIccPhoneBook.setRecordsSize(1, IccConstants.EF_ADN, 1, 32);
+        mIccPhoneBook.setupEfWithSizes(1, IccConstants.EF_ADN, 1, 32);
 
         ContentValues values = new ContentValues();
         values.put(SimRecords.NAME, "Name");
@@ -914,7 +944,7 @@
     @Test
     public void insert_unsupportedColumn_throwsCorrectException() {
         setupSimsWithSubscriptionIds(1);
-        mIccPhoneBook.setRecordsSize(1, IccConstants.EF_ADN, 1, 25);
+        mIccPhoneBook.setupEfWithSizes(1, IccConstants.EF_ADN, 1, 25);
 
         ContentValues values = new ContentValues();
         values.put(SimRecords.NAME, "Name");
@@ -1006,7 +1036,7 @@
     @Test
     public void update_indexExceedingMax_returnsZero() {
         setupSimsWithSubscriptionIds(1);
-        mIccPhoneBook.setRecordsSize(1, IccConstants.EF_ADN, 1, 30);
+        mIccPhoneBook.setupEfWithSizes(1, IccConstants.EF_ADN, 1, 30);
 
         ContentValues values = new ContentValues();
         values.put(SimRecords.NAME, "name");
@@ -1045,7 +1075,7 @@
     public void delete_indexExceedingMax_returnsZero() {
         setupSimsWithSubscriptionIds(1);
         mIccPhoneBook.makeAllEfsSupported(1);
-        mIccPhoneBook.setRecordsSize(1, IccConstants.EF_ADN, 1, 30);
+        mIccPhoneBook.setupEfWithSizes(1, IccConstants.EF_ADN, 1, 30);
 
         int result = mResolver.delete(SimRecords.getItemUri(1, ElementaryFiles.EF_ADN, 2), null);
 
@@ -1066,7 +1096,7 @@
     @Test
     public void update_nameOrNumberTooLong_throwsCorrectException() {
         setupSimsWithSubscriptionIds(1);
-        mIccPhoneBook.setRecordsSize(1, IccConstants.EF_ADN, 1, 25);
+        mIccPhoneBook.setupEfWithSizes(1, IccConstants.EF_ADN, 1, 25);
         mIccPhoneBook.addRecord(1, IccConstants.EF_ADN, "Initial", "8005550101");
 
         ContentValues values = new ContentValues();
@@ -1096,7 +1126,7 @@
     @Test
     public void update_numberWithInvalidCharacters_throwsCorrectException() {
         setupSimsWithSubscriptionIds(1);
-        mIccPhoneBook.setRecordsSize(1, IccConstants.EF_ADN, 1, 32);
+        mIccPhoneBook.setupEfWithSizes(1, IccConstants.EF_ADN, 1, 32);
         mIccPhoneBook.addRecord(1, IccConstants.EF_ADN, "Initial", "8005550101");
 
         ContentValues values = new ContentValues();
@@ -1189,6 +1219,10 @@
     public void subscriptionsChange_callsNotifyChange() {
         // Clear invocations that happened in setUp
         Mockito.reset(mMockSubscriptionManager);
+        // Stubbing this prevents the spied instance from calling the listener when it is added
+        // which may cause flakiness.
+        doNothing().when(mMockSubscriptionManager)
+                .addOnSubscriptionsChangedListener(any(), any());
         setupSimsWithSubscriptionIds(1);
         mIccPhoneBook.makeAllEfsSupported(1);
         SimPhonebookProvider.ContentNotifier mockNotifier = mock(
@@ -1200,9 +1234,20 @@
                 mResolver, mMockSubscriptionManager, mIccPhoneBook, mockNotifier);
         verify(mMockSubscriptionManager).addOnSubscriptionsChangedListener(
                 any(), listenerCaptor.capture());
+
+        // Fake the initial call that is made by SubscriptionManager when a listener is registered
+        // with addOnSubscriptionsChangedListener
         listenerCaptor.getValue().onSubscriptionsChanged();
+
+        // First subscription change
         setupSimsWithSubscriptionIds(1, 2);
         listenerCaptor.getValue().onSubscriptionsChanged();
+
+        // Second subscription change
+        setupSimsWithSubscriptionIds(1);
+        listenerCaptor.getValue().onSubscriptionsChanged();
+
+        // Listener is called but subscriptions didn't change so this won't notify
         listenerCaptor.getValue().onSubscriptionsChanged();
 
         verify(mockNotifier, times(2)).notifyChange(eq(SimPhonebookContract.AUTHORITY_URI));
@@ -1308,7 +1353,7 @@
         // The key for both maps is the (subscription ID, efid)
         private Map<Pair<Integer, Integer>, AdnRecord[]> mRecords = new HashMap<>();
         // The value is the single record size
-        private Map<Pair<Integer, Integer>, Integer> mRecordSizes = new HashMap<>();
+        private Map<Pair<Integer, Integer>, int[]> mRecordSizes = new HashMap<>();
 
         private int mDefaultSubscriptionId = 101;
 
@@ -1316,7 +1361,7 @@
             // Assume that if records are being added then the test wants it to be a valid
             // elementary file so set sizes as well.
             if (!mRecordSizes.containsKey(key)) {
-                setRecordsSize(key.first, key.second,
+                setupEfWithSizes(key.first, key.second,
                         Math.max(record.getRecId(), DEFAULT_RECORDS_COUNT), DEFAULT_RECORD_SIZE);
             }
             mRecords.get(key)[record.getRecId() - 1] = record;
@@ -1386,18 +1431,33 @@
          * subscription IDs.
          */
         public void makeAllEfsSupported(int subscriptionId) {
-            setRecordsSize(subscriptionId, IccConstants.EF_ADN, DEFAULT_RECORDS_COUNT,
+            setupEfWithSizes(subscriptionId, IccConstants.EF_ADN, DEFAULT_RECORDS_COUNT,
                     DEFAULT_RECORD_SIZE);
-            setRecordsSize(subscriptionId, IccConstants.EF_FDN, DEFAULT_RECORDS_COUNT,
+            setupEfWithSizes(subscriptionId, IccConstants.EF_FDN, DEFAULT_RECORDS_COUNT,
                     DEFAULT_RECORD_SIZE);
-            setRecordsSize(subscriptionId, IccConstants.EF_SDN, DEFAULT_RECORDS_COUNT,
+            setupEfWithSizes(subscriptionId, IccConstants.EF_SDN, DEFAULT_RECORDS_COUNT,
                     DEFAULT_RECORD_SIZE);
         }
 
+        public void setRecords(int subscriptionId, int efid, AdnRecord[] records) {
+            mRecords.put(Pair.create(subscriptionId, efid), records);
+        }
+
         public void setRecordsSize(int subscriptionId, int efid, int maxRecordCount,
                 int maxRecordSize) {
+            setRecordsSize(Pair.create(subscriptionId, efid), maxRecordCount, maxRecordSize);
+        }
+
+        private void setRecordsSize(Pair<Integer, Integer> key, int maxRecordCount,
+                int maxRecordSize) {
+            int[] sizes = { maxRecordSize, maxRecordSize * maxRecordCount, maxRecordCount };
+            mRecordSizes.put(key, sizes);
+        }
+
+        public void setupEfWithSizes(int subscriptionId, int efid, int maxRecordCount,
+                int maxRecordSize) {
             Pair<Integer, Integer> key = Pair.create(subscriptionId, efid);
-            mRecordSizes.put(key, maxRecordSize);
+            setRecordsSize(key, maxRecordCount, maxRecordSize);
             AdnRecord[] records = mRecords.computeIfAbsent(key, unused ->
                     createEmptyRecords(efid, maxRecordCount));
             if (records.length < maxRecordCount) {
@@ -1405,7 +1465,7 @@
             }
         }
 
-        private AdnRecord[] createEmptyRecords(int efid, int count) {
+        AdnRecord[] createEmptyRecords(int efid, int count) {
             AdnRecord[] records = new AdnRecord[count];
             for (int i = 0; i < records.length; i++) {
                 if (records[i] == null) {
@@ -1483,12 +1543,11 @@
         @Override
         public int[] getAdnRecordsSizeForSubscriber(int subId, int efid) {
             Pair<Integer, Integer> key = Pair.create(subId, efid);
-            Integer recordSize = mRecordSizes.get(key);
-            if (recordSize == null) {
+            int[] recordsSize = mRecordSizes.get(key);
+            if (recordsSize == null) {
                 return new int[]{0, 0, 0};
             }
-            int count = mRecords.get(key).length;
-            return new int[]{recordSize, recordSize * count, count};
+            return recordsSize;
         }
 
         @Override
diff --git a/tests/src/com/android/phone/SubscriptionInfoHelperTest.java b/tests/src/com/android/phone/SubscriptionInfoHelperTest.java
new file mode 100644
index 0000000..90f682f
--- /dev/null
+++ b/tests/src/com/android/phone/SubscriptionInfoHelperTest.java
@@ -0,0 +1,59 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.phone;
+
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
+
+import android.content.Intent;
+import android.telephony.SubscriptionInfo;
+import android.telephony.SubscriptionManager;
+
+import org.junit.Test;
+
+public class SubscriptionInfoHelperTest {
+    private static final String EXTRA_SUBSCRIPTION_LABEL =
+            "com.android.phone.settings.SubscriptionInfoHelper.SubscriptionLabel";
+
+    /**
+     * Ensures {@link SubscriptionInfoHelper#addExtrasToIntent(Intent, SubscriptionInfo)} can
+     * properly handle a null display name without crashing.
+     */
+    @Test
+    public void testAddExtrasToIntentWithNullDisplayName() {
+        Intent intent = new Intent();
+        SubscriptionInfo info = new SubscriptionInfo(1, // id
+                "90210", // iccId
+                1, // simSlotIndex
+                null, // displayName
+                null, // carrierName
+                SubscriptionManager.NAME_SOURCE_CARRIER_ID, // nameSource
+                0, //iconTint
+                "555-1212", // number
+                0, // roaming
+                null, // icon
+                "401", // mcc
+                "384", // mnc
+                "us", // countryIso
+                false, // isEmbedded
+                null, // nativeAccessRules
+                ""); // cardString
+        SubscriptionInfoHelper.addExtrasToIntent(intent, info);
+        assertNull(intent.getStringExtra(EXTRA_SUBSCRIPTION_LABEL));
+        assertTrue(intent.hasExtra(EXTRA_SUBSCRIPTION_LABEL));
+    }
+}
diff --git a/tests/src/com/android/phone/euicc/EuiccUiDispatcherActivityTest.java b/tests/src/com/android/phone/euicc/EuiccUiDispatcherActivityTest.java
index 85dba51..8b0ac5c 100644
--- a/tests/src/com/android/phone/euicc/EuiccUiDispatcherActivityTest.java
+++ b/tests/src/com/android/phone/euicc/EuiccUiDispatcherActivityTest.java
@@ -75,6 +75,12 @@
     }
 
     @Test
+    public void testResolveEuiccUiIntent_nullAction() {
+        mIntent = new Intent();
+        assertNull(mActivity.resolveEuiccUiIntent());
+    }
+
+    @Test
     public void testResolveEuiccUiIntent_unsupportedAction() {
         mIntent = new Intent("fake.action");
         assertNull(mActivity.resolveEuiccUiIntent());
diff --git a/tests/src/com/android/services/telephony/TelephonyConnectionServiceTest.java b/tests/src/com/android/services/telephony/TelephonyConnectionServiceTest.java
index 4ce94ca..efa906e 100644
--- a/tests/src/com/android/services/telephony/TelephonyConnectionServiceTest.java
+++ b/tests/src/com/android/services/telephony/TelephonyConnectionServiceTest.java
@@ -61,8 +61,8 @@
 import com.android.internal.telephony.CallStateException;
 import com.android.internal.telephony.Connection;
 import com.android.internal.telephony.Phone;
-import com.android.internal.telephony.PhoneSwitcher;
 import com.android.internal.telephony.ServiceStateTracker;
+import com.android.internal.telephony.data.PhoneSwitcher;
 import com.android.internal.telephony.emergency.EmergencyNumberTracker;
 import com.android.internal.telephony.gsm.SuppServiceNotification;
 
diff --git a/tests/src/com/android/services/telephony/TelephonyManagerTest.java b/tests/src/com/android/services/telephony/TelephonyManagerTest.java
index 2202bc7..cf1ae8f 100644
--- a/tests/src/com/android/services/telephony/TelephonyManagerTest.java
+++ b/tests/src/com/android/services/telephony/TelephonyManagerTest.java
@@ -16,14 +16,19 @@
 
 package com.android.services.telephony;
 
+import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertTrue;
+import static org.mockito.Matchers.anyString;
 import static org.mockito.Matchers.eq;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
+import android.app.PropertyInvalidatedCache;
+import android.content.ComponentName;
 import android.content.Context;
+import android.telecom.PhoneAccountHandle;
 import android.telephony.SubscriptionManager;
 import android.telephony.TelephonyManager;
 import android.telephony.emergency.EmergencyNumber;
@@ -48,6 +53,12 @@
 public class TelephonyManagerTest {
     private static final String PKG_NAME = "Unittest.TelephonyManagerTest";
     private static final String TAG = "TelephonyManagerTest";
+    private static final PhoneAccountHandle TEST_HANDLE1 = new PhoneAccountHandle(
+            new ComponentName("com.test", "Test"), "1");
+    private static final int TEST_SUBID_1 = 1;
+    private static final PhoneAccountHandle TEST_HANDLE2 = new PhoneAccountHandle(
+            new ComponentName("com.test", "Test"), "2");
+    private static final int TEST_SUBID_2 = 2;
 
     private ITelephony mMockITelephony;
     private SubscriptionManager mMockSubscriptionManager;
@@ -180,4 +191,31 @@
                     EmergencyNumber.EMERGENCY_SERVICE_CATEGORY_POLICE));
         }
     }
+
+    /**
+     * Verifies that {@link TelephonyManager#getSubscriptionId(PhoneAccountHandle)} is properly
+     * using a property invalidated cache.
+     * @throws Exception
+     */
+    @Test
+    public void testGetSubscriptionIdCache() throws Exception {
+        PropertyInvalidatedCache.invalidateCache(TelephonyManager.CACHE_KEY_PHONE_ACCOUNT_TO_SUBID);
+        when(mMockITelephony.getSubIdForPhoneAccountHandle(eq(TEST_HANDLE1),
+                anyString(), anyString())).thenReturn(TEST_SUBID_1);
+        when(mMockITelephony.getSubIdForPhoneAccountHandle(eq(TEST_HANDLE2),
+                anyString(), anyString())).thenReturn(TEST_SUBID_2);
+
+        // Ensure queries for phone account handles come back consistently.
+        assertEquals(TEST_SUBID_1, mTelephonyManager.getSubscriptionId(TEST_HANDLE1));
+        assertEquals(TEST_SUBID_1, mTelephonyManager.getSubscriptionId(TEST_HANDLE1));
+        assertEquals(TEST_SUBID_2, mTelephonyManager.getSubscriptionId(TEST_HANDLE2));
+        assertEquals(TEST_SUBID_2, mTelephonyManager.getSubscriptionId(TEST_HANDLE2));
+
+        // We should have only had a single call to the underlying AIDL, however.  The cache should
+        // have protected us from calling this multiple times.
+        verify(mMockITelephony, times(1)).getSubIdForPhoneAccountHandle(eq(TEST_HANDLE1),
+                anyString(), anyString());
+        verify(mMockITelephony, times(1)).getSubIdForPhoneAccountHandle(eq(TEST_HANDLE2),
+                anyString(), anyString());
+    }
 }
diff --git a/tests/src/com/android/services/telephony/rcs/DelegateStateTrackerTest.java b/tests/src/com/android/services/telephony/rcs/DelegateStateTrackerTest.java
index 25b5339..ffbe5ce 100644
--- a/tests/src/com/android/services/telephony/rcs/DelegateStateTrackerTest.java
+++ b/tests/src/com/android/services/telephony/rcs/DelegateStateTrackerTest.java
@@ -16,6 +16,8 @@
 
 package com.android.services.telephony.rcs;
 
+import static com.android.services.telephony.rcs.DelegateStateTracker.SUPPORT_REGISTERING_DELEGATE_STATE;
+
 import static org.junit.Assert.assertEquals;
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.ArgumentMatchers.anyInt;
@@ -24,7 +26,9 @@
 import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.verify;
 
+import android.app.compat.CompatChanges;
 import android.net.InetAddresses;
+import android.os.Binder;
 import android.telephony.ims.DelegateRegistrationState;
 import android.telephony.ims.FeatureTagState;
 import android.telephony.ims.SipDelegateConfiguration;
@@ -33,8 +37,8 @@
 import android.telephony.ims.aidl.ISipDelegateConnectionStateCallback;
 import android.util.ArraySet;
 
+import androidx.test.ext.junit.runners.AndroidJUnit4;
 import androidx.test.filters.SmallTest;
-import androidx.test.runner.AndroidJUnit4;
 
 import com.android.TelephonyTestBase;
 import com.android.internal.telephony.metrics.RcsStats;
@@ -77,8 +81,8 @@
     @SmallTest
     @Test
     public void testDelegateCreated() throws Exception {
-        DelegateStateTracker stateTracker = new DelegateStateTracker(TEST_SUB_ID, mAppCallback,
-                mSipDelegate, mRcsStats);
+        DelegateStateTracker stateTracker = new DelegateStateTracker(TEST_SUB_ID,
+                Binder.getCallingUid(), mAppCallback, mSipDelegate, mRcsStats);
         Set<FeatureTagState> deniedTags = getMmTelDeniedTag();
         Set<String> supportedTags = getSupportedTags();
         stateTracker.sipDelegateConnected(supportedTags, deniedTags);
@@ -114,8 +118,8 @@
     @SmallTest
     @Test
     public void testDelegateDestroyed() throws Exception {
-        DelegateStateTracker stateTracker = new DelegateStateTracker(TEST_SUB_ID, mAppCallback,
-                mSipDelegate, mRcsStats);
+        DelegateStateTracker stateTracker = new DelegateStateTracker(TEST_SUB_ID,
+                Binder.getCallingUid(), mAppCallback, mSipDelegate, mRcsStats);
         Set<FeatureTagState> deniedTags = getMmTelDeniedTag();
         Set<String> supportedTags = getSupportedTags();
         stateTracker.sipDelegateConnected(supportedTags, deniedTags);
@@ -139,39 +143,75 @@
     @SmallTest
     @Test
     public void testDelegateChangingRegisteredTagsOverride() throws Exception {
-        DelegateStateTracker stateTracker = new DelegateStateTracker(TEST_SUB_ID, mAppCallback,
-                mSipDelegate, mRcsStats);
+        DelegateStateTracker stateTracker = new DelegateStateTracker(TEST_SUB_ID,
+                Binder.getCallingUid(), mAppCallback, mSipDelegate, mRcsStats);
         Set<FeatureTagState> deniedTags = getMmTelDeniedTag();
         Set<String> supportedTags = getSupportedTags();
+        Set<String> registeringTags = getRegisteringTag();
         stateTracker.sipDelegateConnected(supportedTags, deniedTags);
+
         // SipDelegate created
         verify(mAppCallback).onCreated(mSipDelegate);
+
         DelegateRegistrationState regState = new DelegateRegistrationState.Builder()
                 .addRegisteredFeatureTag(ImsSignallingUtils.ONE_TO_ONE_CHAT_TAG)
+                .addRegisteringFeatureTags(registeringTags)
                 .addDeregisteringFeatureTag(ImsSignallingUtils.FILE_TRANSFER_HTTP_TAG,
                         DelegateRegistrationState.DEREGISTERING_REASON_PROVISIONING_CHANGE)
                 .addDeregisteredFeatureTag(ImsSignallingUtils.GROUP_CHAT_TAG,
                         DelegateRegistrationState.DEREGISTERED_REASON_NOT_PROVISIONED)
                 .build();
+
         stateTracker.onRegistrationStateChanged(regState);
         // Simulate underlying SipDelegate switch
         stateTracker.sipDelegateChanging(
                 DelegateRegistrationState.DEREGISTERING_REASON_FEATURE_TAGS_CHANGING);
         // onFeatureTagStatusChanged should now be called with registered features overridden with
         // DEREGISTERING_REASON_FEATURE_TAGS_CHANGING
-        DelegateRegistrationState overrideRegState = new DelegateRegistrationState.Builder()
+        DelegateRegistrationState.Builder overrideBuilder =
+                new DelegateRegistrationState.Builder()
                 .addDeregisteringFeatureTag(ImsSignallingUtils.ONE_TO_ONE_CHAT_TAG,
                         DelegateRegistrationState.DEREGISTERING_REASON_FEATURE_TAGS_CHANGING)
                 // Already Deregistering/Deregistered tags should not be overridden.
                 .addDeregisteringFeatureTag(ImsSignallingUtils.FILE_TRANSFER_HTTP_TAG,
                         DelegateRegistrationState.DEREGISTERING_REASON_PROVISIONING_CHANGE)
                 .addDeregisteredFeatureTag(ImsSignallingUtils.GROUP_CHAT_TAG,
-                        DelegateRegistrationState.DEREGISTERED_REASON_NOT_PROVISIONED)
-                .build();
+                        DelegateRegistrationState.DEREGISTERED_REASON_NOT_PROVISIONED);
+        if (CompatChanges.isChangeEnabled(SUPPORT_REGISTERING_DELEGATE_STATE,
+                Binder.getCallingUid())) {
+            for (String tag : registeringTags) {
+                overrideBuilder.addDeregisteringFeatureTag(tag,
+                        DelegateRegistrationState.DEREGISTERING_REASON_FEATURE_TAGS_CHANGING);
+            }
+        } else {
+            for (String tag : registeringTags) {
+                overrideBuilder.addDeregisteredFeatureTag(tag,
+                        DelegateRegistrationState.DEREGISTERED_REASON_NOT_REGISTERED);
+            }
+        }
+
+        DelegateRegistrationState overrideRegState = overrideBuilder.build();
+
         // new underlying SipDelegate created
         stateTracker.sipDelegateConnected(supportedTags, deniedTags);
         stateTracker.onRegistrationStateChanged(regState);
 
+        DelegateRegistrationState.Builder builder = new DelegateRegistrationState.Builder()
+                .addRegisteredFeatureTag(ImsSignallingUtils.ONE_TO_ONE_CHAT_TAG)
+                .addDeregisteringFeatureTag(ImsSignallingUtils.FILE_TRANSFER_HTTP_TAG,
+                        DelegateRegistrationState.DEREGISTERING_REASON_PROVISIONING_CHANGE)
+                .addDeregisteredFeatureTag(ImsSignallingUtils.GROUP_CHAT_TAG,
+                        DelegateRegistrationState.DEREGISTERED_REASON_NOT_PROVISIONED);
+        if (CompatChanges.isChangeEnabled(SUPPORT_REGISTERING_DELEGATE_STATE,
+                Binder.getCallingUid())) {
+            builder.addRegisteringFeatureTags(registeringTags);
+        } else {
+            for (String tag : registeringTags) {
+                builder.addDeregisteredFeatureTag(tag,
+                        DelegateRegistrationState.DEREGISTERED_REASON_NOT_REGISTERED);
+            }
+        }
+        DelegateRegistrationState regStateResult = builder.build();
         // Verify registration state through the process:
         ArgumentCaptor<DelegateRegistrationState> regCaptor =
                 ArgumentCaptor.forClass(DelegateRegistrationState.class);
@@ -179,11 +219,11 @@
                 regCaptor.capture(), eq(new ArrayList<>(deniedTags)));
         List<DelegateRegistrationState> testStates = regCaptor.getAllValues();
         // feature tags should first be registered
-        assertEquals(regState, testStates.get(0));
+        assertEquals(regStateResult, testStates.get(0));
         // registered feature tags should have moved to deregistering
         assertEquals(overrideRegState, testStates.get(1));
         // and then moved back to registered after underlying FT change done.
-        assertEquals(regState, testStates.get(2));
+        assertEquals(regStateResult, testStates.get(2));
 
         //onCreate should only have been called once and onDestroy should have never been called.
         verify(mAppCallback).onCreated(mSipDelegate);
@@ -191,14 +231,108 @@
     }
 
     /**
+     * When registration states are changed in a case that an application doesn't support the new
+     * 'registering' state the 'registering' state will be moved to the 'registered' state
+     * as the old behavior.
+     *
+     * This method tests the case where the application doesn't support consuming the
+     * DEREGISTERING_REASON_LOSING_PDN reason.
+     */
+    @Test
+    public void testDelegateChangingRegisteredTagsRegisteringDisable() throws Exception {
+        DelegateStateTracker stateTracker = new DelegateStateTracker(TEST_SUB_ID,
+                Binder.getCallingUid(), mAppCallback, mSipDelegate, mRcsStats);
+        stateTracker.setCompatChangesFactory((changeId, uid) -> false);
+        Set<FeatureTagState> deniedTags = getMmTelDeniedTag();
+        Set<String> supportedTags = getSupportedTags();
+        Set<String> registeringTags = getRegisteringTag();
+        stateTracker.sipDelegateConnected(supportedTags, deniedTags);
+        // SipDelegate created
+        verify(mAppCallback).onCreated(mSipDelegate);
+        DelegateRegistrationState regState = new DelegateRegistrationState.Builder()
+                .addRegisteredFeatureTag(ImsSignallingUtils.ONE_TO_ONE_CHAT_TAG)
+                .addRegisteringFeatureTags(registeringTags)
+                .addDeregisteringFeatureTag(ImsSignallingUtils.FILE_TRANSFER_HTTP_TAG,
+                        DelegateRegistrationState.DEREGISTERING_REASON_LOSING_PDN)
+                .addDeregisteredFeatureTag(ImsSignallingUtils.GROUP_CHAT_TAG,
+                        DelegateRegistrationState.DEREGISTERED_REASON_NOT_PROVISIONED)
+                .build();
+        stateTracker.onRegistrationStateChanged(regState);
+
+        DelegateRegistrationState.Builder builder = new DelegateRegistrationState.Builder()
+                .addRegisteredFeatureTag(ImsSignallingUtils.ONE_TO_ONE_CHAT_TAG)
+                .addDeregisteringFeatureTag(ImsSignallingUtils.FILE_TRANSFER_HTTP_TAG,
+                        DelegateRegistrationState.DEREGISTERING_REASON_PDN_CHANGE)
+                .addDeregisteredFeatureTag(ImsSignallingUtils.GROUP_CHAT_TAG,
+                        DelegateRegistrationState.DEREGISTERED_REASON_NOT_PROVISIONED);
+        for (String tag : registeringTags) {
+            builder.addDeregisteredFeatureTag(tag,
+                    DelegateRegistrationState.DEREGISTERED_REASON_NOT_REGISTERED);
+        }
+        DelegateRegistrationState overrideRegState = builder.build();
+
+
+        // Verify registration state through the process:
+        ArgumentCaptor<DelegateRegistrationState> regCaptor =
+                ArgumentCaptor.forClass(DelegateRegistrationState.class);
+        verify(mAppCallback, times(1)).onFeatureTagStatusChanged(
+                regCaptor.capture(), eq(new ArrayList<>(deniedTags)));
+        List<DelegateRegistrationState> testStates = regCaptor.getAllValues();
+
+        assertEquals(overrideRegState, testStates.get(0));
+        verify(mAppCallback).onCreated(mSipDelegate);
+    }
+
+    /**
+     * When registration states are changed in a case that an application supports the new
+     * 'registering' state the state will be kept.
+     *
+     *  This method tests the case where the application supports consuming the
+     *  DEREGISTERING_REASON_LOSING_PDN reason.
+     */
+    @Test
+    public void testDelegateChangingRegisteredTagsRegisteringEnable() throws Exception {
+        DelegateStateTracker stateTracker = new DelegateStateTracker(TEST_SUB_ID,
+                Binder.getCallingUid(), mAppCallback, mSipDelegate, mRcsStats);
+        stateTracker.setCompatChangesFactory((changeId, uid) -> true);
+        Set<FeatureTagState> deniedTags = getMmTelDeniedTag();
+        Set<String> supportedTags = getSupportedTags();
+        Set<String> registeringTags = getRegisteringTag();
+        stateTracker.sipDelegateConnected(supportedTags, deniedTags);
+        // SipDelegate created
+        verify(mAppCallback).onCreated(mSipDelegate);
+
+        DelegateRegistrationState regState = new DelegateRegistrationState.Builder()
+                .addRegisteredFeatureTag(ImsSignallingUtils.ONE_TO_ONE_CHAT_TAG)
+                .addRegisteringFeatureTags(registeringTags)
+                .addDeregisteringFeatureTag(ImsSignallingUtils.FILE_TRANSFER_HTTP_TAG,
+                        DelegateRegistrationState.DEREGISTERING_REASON_LOSING_PDN)
+                .addDeregisteredFeatureTag(ImsSignallingUtils.GROUP_CHAT_TAG,
+                        DelegateRegistrationState.DEREGISTERED_REASON_NOT_PROVISIONED)
+                .build();
+        stateTracker.onRegistrationStateChanged(regState);
+
+        // Verify registration state through the process:
+        ArgumentCaptor<DelegateRegistrationState> regCaptor =
+                ArgumentCaptor.forClass(DelegateRegistrationState.class);
+        verify(mAppCallback, times(1)).onFeatureTagStatusChanged(
+                regCaptor.capture(), eq(new ArrayList<>(deniedTags)));
+        List<DelegateRegistrationState> testStates = regCaptor.getAllValues();
+
+        assertEquals(regState, testStates.get(0));
+        verify(mAppCallback).onCreated(mSipDelegate);
+    }
+
+
+    /**
      * Test the case that when the underlying Denied tags change in the SipDelegate, the change is
      * properly shown in the registration update event.
      */
     @SmallTest
     @Test
     public void testDelegateChangingDeniedTagsChanged() throws Exception {
-        DelegateStateTracker stateTracker = new DelegateStateTracker(TEST_SUB_ID, mAppCallback,
-                mSipDelegate, mRcsStats);
+        DelegateStateTracker stateTracker = new DelegateStateTracker(TEST_SUB_ID,
+                Binder.getCallingUid(), mAppCallback, mSipDelegate, mRcsStats);
         Set<FeatureTagState> deniedTags = getMmTelDeniedTag();
         Set<String> supportedTags = getSupportedTags();
         stateTracker.sipDelegateConnected(supportedTags, deniedTags);
@@ -255,8 +389,8 @@
     @SmallTest
     @Test
     public void testDelegateChangingDeniedTagsChangingToDestroy() throws Exception {
-        DelegateStateTracker stateTracker = new DelegateStateTracker(TEST_SUB_ID, mAppCallback,
-                mSipDelegate, mRcsStats);
+        DelegateStateTracker stateTracker = new DelegateStateTracker(TEST_SUB_ID,
+                Binder.getCallingUid(), mAppCallback, mSipDelegate, mRcsStats);
         Set<FeatureTagState> deniedTags = getMmTelDeniedTag();
         Set<String> supportedTags = getSupportedTags();
         stateTracker.sipDelegateConnected(supportedTags, deniedTags);
@@ -316,4 +450,11 @@
         supportedTags.add(ImsSignallingUtils.GROUP_CHAT_TAG);
         return supportedTags;
     }
+
+    private Set<String> getRegisteringTag() {
+        Set<String> registeringTags = new ArraySet<>();
+        registeringTags.add(ImsSignallingUtils.CHATBOT_COMMUNICATION_USING_SESSION_TAG);
+        return registeringTags;
+
+    }
 }
diff --git a/tests/src/com/android/services/telephony/rcs/ImsSignallingUtils.java b/tests/src/com/android/services/telephony/rcs/ImsSignallingUtils.java
index d607f6d..0e725e0 100644
--- a/tests/src/com/android/services/telephony/rcs/ImsSignallingUtils.java
+++ b/tests/src/com/android/services/telephony/rcs/ImsSignallingUtils.java
@@ -28,4 +28,6 @@
             "+g.3gpp.icsi-ref=\"urn%3Aurn-7%3A3gppservice.ims.icsi.oma.cpm.session\"";
     public static final String FILE_TRANSFER_HTTP_TAG =
             "+g.3gpp.iari-ref=\"urn%3Aurn-7%3A3gppapplication.ims.iari.rcs.fthttp\"";
+    public static final String CHATBOT_COMMUNICATION_USING_SESSION_TAG =
+            "+g.3gpp.iari-ref=\"urn%3Aurn-7%3A3gpp-application.ims.iari.rcs.chatbot\"";
 }
diff --git a/tests/src/com/android/services/telephony/rcs/RcsFeatureControllerTest.java b/tests/src/com/android/services/telephony/rcs/RcsFeatureControllerTest.java
index da614fc..2a30e1a 100644
--- a/tests/src/com/android/services/telephony/rcs/RcsFeatureControllerTest.java
+++ b/tests/src/com/android/services/telephony/rcs/RcsFeatureControllerTest.java
@@ -96,7 +96,7 @@
         controller.addFeature(mMockFeature, RcsFeatureController.Feature.class);
         verify(mMockFeature).onRcsDisconnected();
         // Connect the RcsFeatureManager
-        mConnectorListener.getValue().connectionReady(mFeatureManager);
+        mConnectorListener.getValue().connectionReady(mFeatureManager, TEST_SUB_ID);
 
         verify(mFeatureManager).updateCapabilities(TEST_SUB_ID);
         verify(mFeatureManager).registerImsRegistrationCallback(any());
@@ -114,7 +114,7 @@
     public void testFeatureManagerConnectedAddRemoveFeature() throws Exception {
         RcsFeatureController controller = createFeatureController();
         // Connect the RcsFeatureManager
-        mConnectorListener.getValue().connectionReady(mFeatureManager);
+        mConnectorListener.getValue().connectionReady(mFeatureManager, TEST_SUB_ID);
         controller.addFeature(mMockFeature, RcsFeatureController.Feature.class);
 
         verify(mMockFeature).onRcsConnected(mFeatureManager);
@@ -131,7 +131,7 @@
         IImsRegistrationCallback regCb = mock(IImsRegistrationCallback.class);
         IImsCapabilityCallback capCb = mock(IImsCapabilityCallback.class);
         // Connect the RcsFeatureManager
-        mConnectorListener.getValue().connectionReady(mFeatureManager);
+        mConnectorListener.getValue().connectionReady(mFeatureManager, TEST_SUB_ID);
 
         try {
             controller.registerImsRegistrationCallback(TEST_SUB_ID, regCb);
@@ -165,7 +165,7 @@
     public void testFeatureManagerConnectedHelper() throws Exception {
         RcsFeatureController controller = createFeatureController();
         // Connect the RcsFeatureManager
-        mConnectorListener.getValue().connectionReady(mFeatureManager);
+        mConnectorListener.getValue().connectionReady(mFeatureManager, TEST_SUB_ID);
         ArgumentCaptor<IImsRegistrationCallback> captor =
                 ArgumentCaptor.forClass(IImsRegistrationCallback.class);
         verify(mFeatureManager).registerImsRegistrationCallback(captor.capture());
@@ -257,7 +257,7 @@
     public void testCarrierConfigChanged() throws Exception {
         RcsFeatureController controller = createFeatureController();
         // Connect the RcsFeatureManager
-        mConnectorListener.getValue().connectionReady(mFeatureManager);
+        mConnectorListener.getValue().connectionReady(mFeatureManager, TEST_SUB_ID);
         verify(mFeatureManager).updateCapabilities(TEST_SUB_ID);
         controller.addFeature(mMockFeature, RcsFeatureController.Feature.class);
 
@@ -272,7 +272,7 @@
     public void testChangeSubId() throws Exception {
         RcsFeatureController controller = createFeatureController();
         // Connect the RcsFeatureManager
-        mConnectorListener.getValue().connectionReady(mFeatureManager);
+        mConnectorListener.getValue().connectionReady(mFeatureManager, TEST_SUB_ID);
         verify(mFeatureManager).updateCapabilities(TEST_SUB_ID);
         controller.addFeature(mMockFeature, RcsFeatureController.Feature.class);
 
@@ -286,7 +286,7 @@
     public void testDestroy() throws Exception {
         RcsFeatureController controller = createFeatureController();
         // Connect the RcsFeatureManager
-        mConnectorListener.getValue().connectionReady(mFeatureManager);
+        mConnectorListener.getValue().connectionReady(mFeatureManager, TEST_SUB_ID);
         controller.addFeature(mMockFeature, RcsFeatureController.Feature.class);
         controller.destroy();
 
diff --git a/tests/src/com/android/services/telephony/rcs/SipDelegateControllerTest.java b/tests/src/com/android/services/telephony/rcs/SipDelegateControllerTest.java
index 78f6894..575b81e 100644
--- a/tests/src/com/android/services/telephony/rcs/SipDelegateControllerTest.java
+++ b/tests/src/com/android/services/telephony/rcs/SipDelegateControllerTest.java
@@ -30,6 +30,7 @@
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
+import android.os.Binder;
 import android.telephony.ims.DelegateRegistrationState;
 import android.telephony.ims.DelegateRequest;
 import android.telephony.ims.FeatureTagState;
@@ -291,8 +292,8 @@
 
     private SipDelegateController getTestDelegateController(DelegateRequest request,
             Set<FeatureTagState> deniedSet) {
-        return new SipDelegateController(TEST_SUB_ID, request, "", mExecutorService,
-                mMockMessageTracker, mMockDelegateStateTracker,
+        return new SipDelegateController(TEST_SUB_ID, Binder.getCallingUid(), request, "",
+                mExecutorService, mMockMessageTracker, mMockDelegateStateTracker,
                 (a, b, deniedFeatureSet, d, e) ->  {
                     assertEquals(deniedSet, deniedFeatureSet);
                     return mMockBinderConnection;
diff --git a/tests/src/com/android/services/telephony/rcs/SipTransportControllerTest.java b/tests/src/com/android/services/telephony/rcs/SipTransportControllerTest.java
index 0f139f8..42a45f4 100644
--- a/tests/src/com/android/services/telephony/rcs/SipTransportControllerTest.java
+++ b/tests/src/com/android/services/telephony/rcs/SipTransportControllerTest.java
@@ -78,6 +78,7 @@
 @RunWith(AndroidJUnit4.class)
 public class SipTransportControllerTest extends TelephonyTestBase {
     private static final int TEST_SUB_ID = 1;
+    private static final int TEST_UID = 1001;
     private static final String TEST_PACKAGE_NAME = "com.test_pkg";
     private static final String TEST_PACKAGE_NAME_2 = "com.test_pkg2";
     private static final int TIMEOUT_MS = 200;
@@ -132,13 +133,13 @@
         mSmsPackageName.add(TEST_PACKAGE_NAME);
         doAnswer(invocation -> {
             Integer subId = invocation.getArgument(0);
-            String packageName = invocation.getArgument(2);
-            DelegateRequest request = invocation.getArgument(1);
+            String packageName = invocation.getArgument(3);
+            DelegateRequest request = invocation.getArgument(2);
             SipDelegateController c = getMockDelegateController(subId, packageName, request);
             assertNotNull("create called with no corresponding controller set up", c);
             return c;
-        }).when(mMockDelegateControllerFactory).create(anyInt(), any(), anyString(), any(), any(),
-                any(), any(), any());
+        }).when(mMockDelegateControllerFactory).create(anyInt(), anyInt(), any(), anyString(),
+                any(), any(), any(), any(), any());
         setFeatureAllowedConfig(TEST_SUB_ID, new String[]{ImsSignallingUtils.MMTEL_TAG,
                 ImsSignallingUtils.ONE_TO_ONE_CHAT_TAG, ImsSignallingUtils.GROUP_CHAT_TAG,
                 ImsSignallingUtils.FILE_TRANSFER_HTTP_TAG});
@@ -254,7 +255,7 @@
         doReturn(mSipTransport).when(mRcsManager).getSipTransport();
         controller.onRcsConnected(mRcsManager);
         try {
-            controller.createSipDelegate(TEST_SUB_ID + 1,
+            controller.createSipDelegate(TEST_SUB_ID + 1, TEST_UID,
                     new DelegateRequest(Collections.emptySet()), TEST_PACKAGE_NAME,
                     mock(ISipDelegateConnectionStateCallback.class),
                     mock(ISipDelegateMessageCallback.class));
@@ -271,7 +272,7 @@
         doReturn(null).when(mRcsManager).getSipTransport();
         controller.onRcsConnected(mRcsManager);
         try {
-            controller.createSipDelegate(TEST_SUB_ID,
+            controller.createSipDelegate(TEST_SUB_ID, TEST_UID,
                     new DelegateRequest(Collections.emptySet()), TEST_PACKAGE_NAME,
                     mock(ISipDelegateConnectionStateCallback.class),
                     mock(ISipDelegateMessageCallback.class));
@@ -289,7 +290,7 @@
                 .when(mRcsManager).getSipTransport();
         // No RCS connected message
         try {
-            controller.createSipDelegate(TEST_SUB_ID,
+            controller.createSipDelegate(TEST_SUB_ID, TEST_UID,
                     new DelegateRequest(Collections.emptySet()), TEST_PACKAGE_NAME,
                     mock(ISipDelegateConnectionStateCallback.class),
                     mock(ISipDelegateMessageCallback.class));
@@ -812,7 +813,7 @@
         CompletableFuture<Boolean> pendingChange = setChangeSupportedFeatureTagsFuture(
                 delegateControllerContainer.delegateController, allowedTags, deniedTags);
         try {
-            controller.createSipDelegate(delegateControllerContainer.subId,
+            controller.createSipDelegate(delegateControllerContainer.subId, TEST_UID,
                     delegateControllerContainer.delegateRequest,
                     delegateControllerContainer.packageName,
                     delegateControllerContainer.mockDelegateConnectionCallback,
diff --git a/tests/src/com/android/services/telephony/rcs/UceControllerManagerTest.java b/tests/src/com/android/services/telephony/rcs/UceControllerManagerTest.java
index 8d719fd..17decb9 100644
--- a/tests/src/com/android/services/telephony/rcs/UceControllerManagerTest.java
+++ b/tests/src/com/android/services/telephony/rcs/UceControllerManagerTest.java
@@ -19,6 +19,7 @@
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNull;
 import static org.junit.Assert.fail;
+import static org.mockito.ArgumentMatchers.eq;
 import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.verify;
@@ -199,9 +200,9 @@
         doReturn(false).when(mUceController).isUnavailable();
         uceCtrlManager.onRcsConnected(mRcsFeatureManager);
 
-        uceCtrlManager.getUcePublishState();
+        uceCtrlManager.getUcePublishState(true);
 
-        verify(mUceController).getUcePublishState();
+        verify(mUceController).getUcePublishState(eq(true));
     }
 
     @Test
@@ -211,7 +212,7 @@
         uceCtrlManager.onRcsDisconnected();
 
         try {
-            uceCtrlManager.getUcePublishState();
+            uceCtrlManager.getUcePublishState(true);
             fail();
         } catch (ImsException e) {
             assertEquals(ImsException.CODE_ERROR_SERVICE_UNAVAILABLE, e.getCode());
@@ -225,9 +226,9 @@
         UceControllerManager uceCtrlManager = getUceControllerManager();
         IRcsUcePublishStateCallback callback = Mockito.mock(IRcsUcePublishStateCallback.class);
 
-        uceCtrlManager.registerPublishStateCallback(callback);
+        uceCtrlManager.registerPublishStateCallback(callback, true);
 
-        verify(mUceController).registerPublishStateCallback(callback);
+        verify(mUceController).registerPublishStateCallback(callback, true);
     }
 
     @Test
@@ -238,7 +239,7 @@
 
         try {
             IRcsUcePublishStateCallback callback = Mockito.mock(IRcsUcePublishStateCallback.class);
-            uceCtrlManager.registerPublishStateCallback(callback);
+            uceCtrlManager.registerPublishStateCallback(callback, true);
             fail();
         } catch (ImsException e) {
             assertEquals(ImsException.CODE_ERROR_SERVICE_UNAVAILABLE, e.getCode());